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)
>
next prev parent 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