Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: kenneth.heitke@intel.com (Heitke, Kenneth)
Subject: [nvme-cli 1/9] tests/nvme_writezeros_test.py: check if write zeroes is supported
Date: Tue, 30 Apr 2019 10:48:06 -0600	[thread overview]
Message-ID: <add6c949-3711-e7ee-5fd5-e13dfc905b29@intel.com> (raw)
In-Reply-To: <20190430060554.24368-2-hare@suse.de>



On 4/30/2019 12:05 AM, Hannes Reinecke wrote:
> Before testing the WRITE ZEROS command we should be testing the
> ONCS value of the IDENTIFY CONTROLLER command to figure out if
> the command is supported.
> 
> Signed-off-by: Hannes Reinecke <hare at suse.com>
> ---
>   tests/nvme_test.py            | 23 +++++++++++++++++++++++
>   tests/nvme_writezeros_test.py | 15 ++++++++-------
>   2 files changed, 31 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/nvme_test.py b/tests/nvme_test.py
> index 80939dc..1c17ba1 100644
> --- a/tests/nvme_test.py
> +++ b/tests/nvme_test.py
> @@ -253,6 +253,29 @@ class TestNVMe(object):
>           return int(nvm_format)
>   
>       @tools.nottest
> +    def get_oncs_write_zeroes(self):
> +        """ Wrapper for extracting write zeroes command support.
> +            - Args:
> +                - None
> +            - Returns:
> +                - true if supported.
> +        """
> +        pattern = re.compile("^oncs[ ]+: [0-9]", re.IGNORECASE)
> +        oncs = 0
> +        get_ctrl_id = "nvme id-ctrl " + self.ctrl
> +        proc = subprocess.Popen(get_ctrl_id,
> +                                shell=True,
> +                                stdout=subprocess.PIPE)
> +        err = proc.wait()
> +        assert_equal(err, 0, "ERROR : reading oncs value failed")
> +
> +        for line in proc.stdout:
> +            if pattern.match(line):
> +                oncs = line.split(":")[1].strip()
> +                break
> +        return int(oncs, 16) & 8
> +
> +    @tools.nottest
>       def delete_all_ns(self):
>           """ Wrapper for deleting all the namespaces.
>               - Args:
> diff --git a/tests/nvme_writezeros_test.py b/tests/nvme_writezeros_test.py
> index 157fd78..e549f3b 100644
> --- a/tests/nvme_writezeros_test.py
> +++ b/tests/nvme_writezeros_test.py
> @@ -93,10 +93,11 @@ class TestNVMeWriteZeros(TestNVMeIO):
>           return 0 if filecmp.cmp(self.zero_file, self.read_file) is True else 1
>   
>       def test_write_zeros(self):
> -        """ Testcae main """
> -        assert_equal(self.nvme_write(), 0)
> -        assert_equal(self.nvme_read(), 0)
> -        assert_equal(self.validate_write_read(), 0)
> -        assert_equal(self.write_zeroes(), 0)
> -        assert_equal(self.nvme_read(), 0)
> -        assert_equal(self.validate_zeroes(), 0)
> +        """ Testcase main """
> +        if self.get_oncs_write_zeroes() == 1:

I think you'll either need to shift the bit down in fhte get function, 
check here for 0x08, of check for a True condition


> +            assert_equal(self.nvme_write(), 0)
> +            assert_equal(self.nvme_read(), 0)
> +            assert_equal(self.validate_write_read(), 0)
> +            assert_equal(self.write_zeroes(), 0)
> +            assert_equal(self.nvme_read(), 0)
> +            assert_equal(self.validate_zeroes(), 0)
> 

  reply	other threads:[~2019-04-30 16:48 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-30  6:05 [nvme-cli 0/9] Update tests for qemu Hannes Reinecke
2019-04-30  6:05 ` [nvme-cli 1/9] tests/nvme_writezeros_test.py: check if write zeroes is supported Hannes Reinecke
2019-04-30 16:48   ` Heitke, Kenneth [this message]
2019-04-30  6:05 ` [nvme-cli 2/9] tests/nvme_writeuncor_test.py: check if write uncorrectable " Hannes Reinecke
2019-04-30 18:56   ` Heitke, Kenneth
2019-04-30  6:05 ` [nvme-cli 3/9] tests/nvme_compare_test.py: check if compare " Hannes Reinecke
2019-04-30  6:05 ` [nvme-cli 4/9] tests: ignore log tests for Qemu Hannes Reinecke
2019-04-30  6:05 ` [nvme-cli 5/9] tests/nvme_text.py: add test for namespace management Hannes Reinecke
2019-04-30  6:05 ` [nvme-cli 6/9] tests/nvme_attach_detach_ns_test.py: skip if namespace mgmt is not supported Hannes Reinecke
2019-04-30  6:05 ` [nvme-cli 7/9] tests/nvme_create_max_ns_test.py: " Hannes Reinecke
2019-04-30  6:05 ` [nvme-cli 8/9] tests/nvme_get_features_test.py: skip features for Qemu Hannes Reinecke
2019-04-30  6:05 ` [nvme-cli 9/9] tests/nvme_format_test.py: skip test if namespace management is not supported Hannes Reinecke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=add6c949-3711-e7ee-5fd5-e13dfc905b29@intel.com \
    --to=kenneth.heitke@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox