summaryrefslogtreecommitdiffstats
path: root/tests/nvme_get_lba_status_test.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-29 04:41:05 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-29 04:41:05 +0000
commit1cc8413aaf5f8fa6595aece1933462c096e88639 (patch)
treee97b4f25c511372d73bdd96c389c5f468d99138a /tests/nvme_get_lba_status_test.py
parentInitial commit. (diff)
downloadnvme-cli-upstream.tar.xz
nvme-cli-upstream.zip
Adding upstream version 2.4+really2.3.upstream/2.4+really2.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/nvme_get_lba_status_test.py')
-rw-r--r--tests/nvme_get_lba_status_test.py70
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/nvme_get_lba_status_test.py b/tests/nvme_get_lba_status_test.py
new file mode 100644
index 0000000..539c493
--- /dev/null
+++ b/tests/nvme_get_lba_status_test.py
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# 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 LBA Status Log Testcase :-
+
+ 1. Execute get-lba-status on a device.
+"""
+
+import subprocess
+
+from nvme_test import TestNVMe
+
+
+class TestNVMeGetLbaStatusCmd(TestNVMe):
+
+ """
+ Represents Get LBA Status test.
+ """
+
+ def setUp(self):
+ """ Pre Section for TestNVMeGetLbaStatusCmd. """
+ super().setUp()
+ self.start_lba = 0
+ self.block_count = 0
+ self.namespace = 1
+ self.max_dw = 1
+ self.action = 11
+ self.range_len = 1
+ self.setup_log_dir(self.__class__.__name__)
+
+ def tearDown(self):
+ """
+ Post Section for TestNVMeGetLbaStatusCmd.
+
+ - Call super class's destructor.
+ """
+ super().tearDown()
+
+ def get_lba_status(self):
+ """ Wrapper for executing nvme get-lba-status.
+ - Args:
+ - None
+ - Returns:
+ - 0 on success, error code on failure.
+ """
+ err = 0
+ get_lba_status_cmd = "nvme get-lba-status " + self.ctrl + \
+ " --namespace-id=" + str(self.namespace) + \
+ " --start-lba=" + str(self.start_lba) + \
+ " --max-dw=" + str(self.max_dw) + \
+ " --action=" + str(self.action) + \
+ " --range-len=" + str(self.range_len)
+ proc = subprocess.Popen(get_lba_status_cmd,
+ shell=True,
+ stdout=subprocess.PIPE,
+ encoding='utf-8')
+ get_lba_status_output = proc.communicate()[0]
+ print("\n" + get_lba_status_output + "\n")
+ err = proc.wait()
+ return err
+
+ def test_get_lba_status(self):
+ """ Testcase main """
+ self.assertEqual(self.get_lba_status(), 0)