diff options
Diffstat (limited to 'lib/oeqa/runtime/cases')
-rw-r--r-- | lib/oeqa/runtime/cases/dldt_inference_engine.py | 109 | ||||
-rw-r--r-- | lib/oeqa/runtime/cases/dldt_model_optimizer.py | 38 | ||||
-rw-r--r-- | lib/oeqa/runtime/cases/jhi.py | 41 | ||||
-rw-r--r-- | lib/oeqa/runtime/cases/microcode.py | 11 | ||||
-rw-r--r-- | lib/oeqa/runtime/cases/parselogs-ignores-intel-core2-32.txt | 9 | ||||
-rw-r--r-- | lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt | 14 | ||||
-rw-r--r-- | lib/oeqa/runtime/cases/thermald.py | 8 |
7 files changed, 31 insertions, 199 deletions
diff --git a/lib/oeqa/runtime/cases/dldt_inference_engine.py b/lib/oeqa/runtime/cases/dldt_inference_engine.py deleted file mode 100644 index fb35d52f..00000000 --- a/lib/oeqa/runtime/cases/dldt_inference_engine.py +++ /dev/null | |||
@@ -1,109 +0,0 @@ | |||
1 | from oeqa.runtime.case import OERuntimeTestCase | ||
2 | from oeqa.runtime.decorator.package import OEHasPackage | ||
3 | from oeqa.core.decorator.depends import OETestDepends | ||
4 | from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget | ||
5 | from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest | ||
6 | from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest | ||
7 | from oeqa.runtime.miutils.tests.dldt_inference_engine_test import DldtInferenceEngineTest | ||
8 | from oeqa.runtime.miutils.dldtutils import get_testdata_config | ||
9 | |||
10 | class DldtInferenceEngine(OERuntimeTestCase): | ||
11 | |||
12 | @classmethod | ||
13 | def setUpClass(cls): | ||
14 | cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/ie/md') | ||
15 | cls.sqn_download.setup() | ||
16 | cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/ie/ir') | ||
17 | cls.dldt_mo.setup() | ||
18 | cls.dldt_ie = DldtInferenceEngineTest(OEQATarget(cls.tc.target), '/tmp/ie/inputs') | ||
19 | cls.dldt_ie.setup() | ||
20 | cls.ir_files_dir = cls.dldt_mo.work_dir | ||
21 | |||
22 | @classmethod | ||
23 | def tearDownClass(cls): | ||
24 | cls.dldt_ie.tear_down() | ||
25 | cls.dldt_mo.tear_down() | ||
26 | cls.sqn_download.tear_down() | ||
27 | |||
28 | @OEHasPackage(['dldt-model-optimizer']) | ||
29 | @OEHasPackage(['wget']) | ||
30 | def test_dldt_ie_can_create_ir_and_download_input(self): | ||
31 | proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY') | ||
32 | if not proxy_port: | ||
33 | self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").') | ||
34 | (status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port) | ||
35 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
36 | (status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port) | ||
37 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
38 | |||
39 | mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR') | ||
40 | if not mo_exe_dir: | ||
41 | self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").') | ||
42 | mo_files_dir = self.sqn_download.work_dir | ||
43 | (status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir) | ||
44 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
45 | |||
46 | (status, output) = self.dldt_ie.test_can_download_input_file(proxy_port) | ||
47 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
48 | |||
49 | @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) | ||
50 | @OEHasPackage(['dldt-inference-engine']) | ||
51 | @OEHasPackage(['dldt-inference-engine-samples']) | ||
52 | def test_dldt_ie_classification_with_cpu(self): | ||
53 | (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('CPU', self.ir_files_dir) | ||
54 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
55 | |||
56 | @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) | ||
57 | @OEHasPackage(['dldt-inference-engine']) | ||
58 | @OEHasPackage(['dldt-inference-engine-samples']) | ||
59 | @OEHasPackage(['intel-compute-runtime']) | ||
60 | @OEHasPackage(['ocl-icd']) | ||
61 | def test_dldt_ie_classification_with_gpu(self): | ||
62 | (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('GPU', self.ir_files_dir) | ||
63 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
64 | |||
65 | @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) | ||
66 | @OEHasPackage(['dldt-inference-engine']) | ||
67 | @OEHasPackage(['dldt-inference-engine-samples']) | ||
68 | @OEHasPackage(['dldt-inference-engine-vpu-firmware']) | ||
69 | def test_dldt_ie_classification_with_myriad(self): | ||
70 | device = 'MYRIAD' | ||
71 | (status, output) = self.dldt_ie.test_check_if_openvino_device_available(device) | ||
72 | if not status: | ||
73 | self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output)) | ||
74 | (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device(device, self.ir_files_dir) | ||
75 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
76 | |||
77 | @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) | ||
78 | @OEHasPackage(['dldt-inference-engine']) | ||
79 | @OEHasPackage(['dldt-inference-engine-python3']) | ||
80 | @OEHasPackage(['python3-opencv']) | ||
81 | @OEHasPackage(['python3-numpy']) | ||
82 | def test_dldt_ie_classification_python_api_with_cpu(self): | ||
83 | (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('CPU', self.ir_files_dir) | ||
84 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
85 | |||
86 | @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) | ||
87 | @OEHasPackage(['dldt-inference-engine']) | ||
88 | @OEHasPackage(['dldt-inference-engine-python3']) | ||
89 | @OEHasPackage(['intel-compute-runtime']) | ||
90 | @OEHasPackage(['ocl-icd']) | ||
91 | @OEHasPackage(['python3-opencv']) | ||
92 | @OEHasPackage(['python3-numpy']) | ||
93 | def test_dldt_ie_classification_python_api_with_gpu(self): | ||
94 | (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('GPU', self.ir_files_dir) | ||
95 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
96 | |||
97 | @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) | ||
98 | @OEHasPackage(['dldt-inference-engine']) | ||
99 | @OEHasPackage(['dldt-inference-engine-python3']) | ||
100 | @OEHasPackage(['dldt-inference-engine-vpu-firmware']) | ||
101 | @OEHasPackage(['python3-opencv']) | ||
102 | @OEHasPackage(['python3-numpy']) | ||
103 | def test_dldt_ie_classification_python_api_with_myriad(self): | ||
104 | device = 'MYRIAD' | ||
105 | (status, output) = self.dldt_ie.test_check_if_openvino_device_available(device) | ||
106 | if not status: | ||
107 | self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output)) | ||
108 | (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device(device, self.ir_files_dir) | ||
109 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
diff --git a/lib/oeqa/runtime/cases/dldt_model_optimizer.py b/lib/oeqa/runtime/cases/dldt_model_optimizer.py deleted file mode 100644 index 736ea661..00000000 --- a/lib/oeqa/runtime/cases/dldt_model_optimizer.py +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | from oeqa.runtime.case import OERuntimeTestCase | ||
2 | from oeqa.runtime.decorator.package import OEHasPackage | ||
3 | from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget | ||
4 | from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest | ||
5 | from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest | ||
6 | from oeqa.runtime.miutils.dldtutils import get_testdata_config | ||
7 | |||
8 | class DldtModelOptimizer(OERuntimeTestCase): | ||
9 | |||
10 | @classmethod | ||
11 | def setUpClass(cls): | ||
12 | cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/mo/md') | ||
13 | cls.sqn_download.setup() | ||
14 | cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/mo/ir') | ||
15 | cls.dldt_mo.setup() | ||
16 | |||
17 | @classmethod | ||
18 | def tearDownClass(cls): | ||
19 | cls.dldt_mo.tear_down() | ||
20 | cls.sqn_download.tear_down() | ||
21 | |||
22 | @OEHasPackage(['dldt-model-optimizer']) | ||
23 | @OEHasPackage(['wget']) | ||
24 | def test_dldt_mo_can_create_ir(self): | ||
25 | proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY') | ||
26 | if not proxy_port: | ||
27 | self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").') | ||
28 | (status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port) | ||
29 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
30 | (status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port) | ||
31 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
32 | |||
33 | mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR') | ||
34 | if not mo_exe_dir: | ||
35 | self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").') | ||
36 | mo_files_dir = self.sqn_download.work_dir | ||
37 | (status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir) | ||
38 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
diff --git a/lib/oeqa/runtime/cases/jhi.py b/lib/oeqa/runtime/cases/jhi.py deleted file mode 100644 index 7a24b6da..00000000 --- a/lib/oeqa/runtime/cases/jhi.py +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | import os | ||
2 | from oeqa.runtime.decorator.package import OEHasPackage | ||
3 | from oeqa.runtime.case import OERuntimeTestCase | ||
4 | from oeqa.core.decorator.depends import OETestDepends | ||
5 | |||
6 | class JhiTest(OERuntimeTestCase): | ||
7 | |||
8 | @classmethod | ||
9 | def tearDownClass(cls): | ||
10 | _, output = cls.tc.target.run('pidof jhid') | ||
11 | cls.tc.target.run('kill %s' % output) | ||
12 | |||
13 | @OEHasPackage(['openssh-sshd']) | ||
14 | @OEHasPackage(['jhi']) | ||
15 | def test_jhi_mei_driver(self): | ||
16 | command = 'ls /dev/mei*' | ||
17 | (status, output) = self.target.run(command) | ||
18 | self.assertEqual(status, 0, msg="Error messages: %s" % output) | ||
19 | |||
20 | @OETestDepends(['jhi.JhiTest.test_jhi_mei_driver']) | ||
21 | def test_jhi_daemon_version(self): | ||
22 | command = 'jhid -v' | ||
23 | (status, output) = self.target.run(command) | ||
24 | self.assertEqual(status, 0, msg="Error messages: %s" % output) | ||
25 | |||
26 | @OETestDepends(['jhi.JhiTest.test_jhi_mei_driver']) | ||
27 | def test_jhi_daemon_can_initialized(self): | ||
28 | command = 'jhid -d' | ||
29 | (status, output) = self.target.run(command) | ||
30 | self.assertEqual(status, 0, msg="Error messages: %s" % output) | ||
31 | |||
32 | @OEHasPackage(['jhi-test']) | ||
33 | @OETestDepends(['jhi.JhiTest.test_jhi_daemon_can_initialized']) | ||
34 | def test_jhi_bist(self): | ||
35 | (status, output) = self.target.run('uname -m') | ||
36 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
37 | if 'x86_64' not in output: | ||
38 | self.skipTest("Skipped jhi bist test if not x86_64 machine (current machine: %s)." % output) | ||
39 | command = 'bist' | ||
40 | (status, output) = self.target.run(command) | ||
41 | self.assertEqual(status, 0, msg="Error messages: %s" % output) | ||
diff --git a/lib/oeqa/runtime/cases/microcode.py b/lib/oeqa/runtime/cases/microcode.py index 6ce36a6f..52c1cdb4 100644 --- a/lib/oeqa/runtime/cases/microcode.py +++ b/lib/oeqa/runtime/cases/microcode.py | |||
@@ -16,20 +16,15 @@ class MicrocodeTest(OERuntimeTestCase): | |||
16 | 16 | ||
17 | @OEHasPackage(["iucode-tool"]) | 17 | @OEHasPackage(["iucode-tool"]) |
18 | def test_microcode_update(self): | 18 | def test_microcode_update(self): |
19 | (status, output) = self.target.run('iucode_tool /lib/firmware/intel-ucode/ -tb -lS | grep rev') | 19 | (status, output) = self.target.run('iucode_tool /lib/firmware/intel-ucode/ -tb -l --scan-system=2 | grep rev') |
20 | if status: | ||
21 | self.skipTest("The iucode_tool detected no microcode for update.") | ||
22 | 20 | ||
23 | selected_microcodes = output.splitlines() | 21 | selected_microcodes = output.splitlines() |
24 | selected_rev_list = self.get_revision_from_microcode_string_list(selected_microcodes, "rev (\w*)") | 22 | selected_rev_list = self.get_revision_from_microcode_string_list(selected_microcodes, "rev (\w*)") |
25 | self.assertTrue(selected_rev_list, msg="Could not find any rev from iucode_tool selected microcode.") | ||
26 | 23 | ||
27 | (status, output) = self.target.run('dmesg | grep microcode') | 24 | (status, output) = self.target.run("dmesg | grep 'microcode updated early'") |
28 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | ||
29 | 25 | ||
30 | updated_microcodes = output.splitlines() | 26 | updated_microcodes = output.splitlines() |
31 | updated_rev_list = self.get_revision_from_microcode_string_list(updated_microcodes, "revision=(\w*)") | 27 | updated_rev_list = self.get_revision_from_microcode_string_list(updated_microcodes, "revision (\w*)") |
32 | self.assertTrue(updated_rev_list, msg="Could not find any updated revision from microcode dmesg.") | ||
33 | 28 | ||
34 | for ul in updated_rev_list: | 29 | for ul in updated_rev_list: |
35 | self.assertTrue(ul in selected_rev_list, msg="Updated revision, %s, not in selected revision list (%s)" % | 30 | self.assertTrue(ul in selected_rev_list, msg="Updated revision, %s, not in selected revision list (%s)" % |
diff --git a/lib/oeqa/runtime/cases/parselogs-ignores-intel-core2-32.txt b/lib/oeqa/runtime/cases/parselogs-ignores-intel-core2-32.txt new file mode 100644 index 00000000..84ce8168 --- /dev/null +++ b/lib/oeqa/runtime/cases/parselogs-ignores-intel-core2-32.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | # These should be reviewed to see if they are still needed | ||
2 | ACPI: No _BQC method, cannot determine initial brightness | ||
3 | [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness | ||
4 | (EE) Failed to load module "psb" | ||
5 | (EE) Failed to load module "psbdrv" | ||
6 | (EE) open /dev/fb0: No such file or directory | ||
7 | (EE) AIGLX: reverting to software rendering | ||
8 | dmi: Firmware registration failed. | ||
9 | ioremap error for 0x78 | ||
diff --git a/lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt b/lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt new file mode 100644 index 00000000..5c9b4bc7 --- /dev/null +++ b/lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | # These should be reviewed to see if they are still needed | ||
2 | can't set Max Payload Size to 256 | ||
3 | intel_punit_ipc: can't request region for resource | ||
4 | [drm] parse error at position 4 in video mode 'efifb' | ||
5 | ACPI Error: Could not enable RealTimeClock event | ||
6 | ACPI Warning: Could not enable fixed event - RealTimeClock | ||
7 | hci_intel INT33E1:00: Unable to retrieve gpio | ||
8 | hci_intel: probe of INT33E1:00 failed | ||
9 | can't derive routing for PCI INT A | ||
10 | failed to read out thermal zone | ||
11 | Bluetooth: hci0: Setting Intel event mask failed | ||
12 | ttyS2 - failed to request DMA | ||
13 | Bluetooth: hci0: Failed to send firmware data (-38) | ||
14 | atkbd serio0: Failed to enable keyboard on isa0060/serio0 | ||
diff --git a/lib/oeqa/runtime/cases/thermald.py b/lib/oeqa/runtime/cases/thermald.py index b0efecd8..a0b6a92b 100644 --- a/lib/oeqa/runtime/cases/thermald.py +++ b/lib/oeqa/runtime/cases/thermald.py | |||
@@ -19,7 +19,7 @@ class ThermaldTest(OERuntimeTestCase): | |||
19 | def run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process(self, run_args): | 19 | def run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process(self, run_args): |
20 | time.sleep(2) | 20 | time.sleep(2) |
21 | self.target.run('echo 106000 > /sys/class/thermal/thermal_zone%s/emul_temp' % run_args) | 21 | self.target.run('echo 106000 > /sys/class/thermal/thermal_zone%s/emul_temp' % run_args) |
22 | time.sleep(2) | 22 | time.sleep(5) |
23 | __, output = self.target.run('pidof thermald') | 23 | __, output = self.target.run('pidof thermald') |
24 | self.target.run('kill -9 %s' % output) | 24 | self.target.run('kill -9 %s' % output) |
25 | 25 | ||
@@ -27,7 +27,8 @@ class ThermaldTest(OERuntimeTestCase): | |||
27 | # Thermald test depend on thermal emulation, where CONFIG_THERMAL_EMULATION=y was required | 27 | # Thermald test depend on thermal emulation, where CONFIG_THERMAL_EMULATION=y was required |
28 | # To enable thermal emulation, refer to https://github.com/intel/thermal_daemon/blob/master/test/readme_test.txt | 28 | # To enable thermal emulation, refer to https://github.com/intel/thermal_daemon/blob/master/test/readme_test.txt |
29 | (status, output) = self.target.run('gzip -dc /proc/config.gz | grep CONFIG_THERMAL_EMULATION=y') | 29 | (status, output) = self.target.run('gzip -dc /proc/config.gz | grep CONFIG_THERMAL_EMULATION=y') |
30 | self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) | 30 | if status: |
31 | self.skipTest("CONFIG_THERMAL_EMULATION is not set") | ||
31 | 32 | ||
32 | @OEHasPackage(['thermald']) | 33 | @OEHasPackage(['thermald']) |
33 | @OETestDepends(['thermald.ThermaldTest.test_thermald_emulation_mode']) | 34 | @OETestDepends(['thermald.ThermaldTest.test_thermald_emulation_mode']) |
@@ -38,7 +39,8 @@ class ThermaldTest(OERuntimeTestCase): | |||
38 | td_thread = threading.Thread(target=self.run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process, | 39 | td_thread = threading.Thread(target=self.run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process, |
39 | args=(x86_thermal_zone_index,)) | 40 | args=(x86_thermal_zone_index,)) |
40 | td_thread.start() | 41 | td_thread.start() |
41 | status, output = self.target.run('thermald --no-daemon --loglevel=info') | 42 | td_thread.join() |
43 | status, output = self.target.run('timeout 3s thermald --no-daemon --loglevel=info') | ||
42 | regex_search = ".*thd_cdev_set_state.*106000" | 44 | regex_search = ".*thd_cdev_set_state.*106000" |
43 | regex_comp = re.compile(regex_search) | 45 | regex_comp = re.compile(regex_search) |
44 | m = regex_comp.search(output) | 46 | m = regex_comp.search(output) |