]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
tests: Add test for DSM command
authorArunpandian J <apj.arun@samsung.com>
Thu, 10 Mar 2022 11:02:37 +0000 (16:32 +0530)
committerDaniel Wagner <dwagner@suse.de>
Mon, 14 Mar 2022 08:45:02 +0000 (09:45 +0100)
Data Set Management command test case
has beed added.

Signed-off-by: Arunpandian J <apj.arun@samsung.com>
tests/nvme_dsm_test.py [new file with mode: 0644]

diff --git a/tests/nvme_dsm_test.py b/tests/nvme_dsm_test.py
new file mode 100644 (file)
index 0000000..fe3dc01
--- /dev/null
@@ -0,0 +1,57 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# This file is part of nvme-cli
+#
+# Copyright (c) 2022 Samsung Electronics Co., Ltd. All Rights Reserved.
+#
+# Author: Arunpandian J <apj.arun@samsung.com>
+
+"""
+NVMe DSM Testcase:-
+
+    1. Issue DSM command on set of block; shall pass.
+
+"""
+
+from nose.tools import assert_equal
+from nvme_test import TestNVMe
+
+
+class TestNVMeDsm(TestNVMe):
+
+    """
+    Represents NVMe Verify testcase.
+        - Attributes:
+              - start_block :   starting block of to verify operation.
+              - range :         Range of blocks for DSM operation.
+              - test_log_dir :  directory for logs, temp files.
+    """
+
+    def __init__(self):
+        """ Pre Section for TestNVMeDsm """
+        TestNVMe.__init__(self)
+        self.start_block = 0
+        self.range = 0
+        self.namespace = 1
+        self.setup_log_dir(self.__class__.__name__)
+
+    def __del__(self):
+        """ Post Section for TestNVMeDsm """
+        TestNVMe.__del__(self)
+
+    def dsm(self):
+        """ Wrapper for nvme verify
+            - Args:
+                - None
+            - Returns:
+                - return code for nvme dsm command.
+        """
+        dsm_cmd = "nvme dsm " + self.ctrl + \
+                  " --namespace-id=" + str(self.namespace) + \
+                  " --blocks=" + str(self.range) + \
+                  " --slbs=" + str(self.start_block)
+        return self.exec_cmd(dsm_cmd)
+
+    def test_dsm(self):
+        """ Testcase main """
+        assert_equal(self.dsm(), 0)