How to use available_modules method in tempest

Best Python code snippet using tempest_python

kernel.py

Source:kernel.py Github

copy

Full Screen

...16 elif current_mode in ["nvidia", "hybrid", None] and requested_mode == "intel":17 _nvidia_down(config)18def _nvidia_up(config):19 logger = get_logger()20 available_modules = _get_available_modules()21 logger.info("Available modules: %s", str(available_modules))22 _unload_nouveau(available_modules)23 switching_mode = config["optimus"]["switching"]24 if switching_mode == "bbswitch":25 _try_load_bbswitch(available_modules)26 _try_set_bbswitch_state("ON")27 elif switching_mode == "acpi_call":28 _try_load_acpi_call(available_modules)29 _try_set_acpi_call_state("ON")30 elif switching_mode == "custom":31 _try_custom_set_power_state("ON")32 if not pci.is_nvidia_visible():33 logger.info("Nvidia card not visible in PCI bus, rescanning")34 _try_rescan_pci()35 if config["optimus"]["pci_reset"] == "yes":36 _try_pci_reset(config, available_modules)37 if config["optimus"]["pci_power_control"] == "yes":38 _try_set_pci_power_state("on")39 _load_nvidia_modules(config, available_modules)40 41def _create_pm_udev_rule(keep_nvidia=True):42 _udev_rule_file = '/lib/udev/rules.d/50-pm-nvidia.rules'43 44 udev_rule_stub = '''# Remove NVIDIA USB xHCI Host Controller devices, if present45ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"46# Remove NVIDIA USB Type-C UCSI devices, if present47ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"48# Remove NVIDIA Audio devices, if present49ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"50%s51# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind52ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"53ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"54# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind55ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"56ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"'''57 disable_nvidia_stub = '''58# Remove NVIDIA VGA/3D controller59ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{remove}="1"60ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x038000", ATTR{remove}="1"61'''62 complete_stub = disable_nvidia_stub63 udev_rule = udev_rule_stub % (complete_stub)64 rule_fd = open(_udev_rule_file, 'w')65 rule_fd.write('%s\n' % (udev_rule))66 rule_fd.close()67 68def _nvidia_down(config):69 logger = get_logger()70 available_modules = _get_available_modules()71 logger.info("Available modules: %s", str(available_modules))72 73 _create_pm_udev_rule(False)74 75 _unload_nvidia_modules(available_modules)76 switching_mode = config["optimus"]["switching"]77 if switching_mode == "nouveau":78 _try_load_nouveau(config, available_modules)79 elif switching_mode == "bbswitch":80 _try_load_bbswitch(available_modules)81 _set_bbswitch_state("OFF")82 elif switching_mode == "acpi_call":83 _try_load_acpi_call(available_modules)84 _try_set_acpi_call_state("OFF")85 elif switching_mode == "custom":86 _try_custom_set_power_state("OFF")87 if config["optimus"]["pci_remove"] == "yes":88 if switching_mode == "nouveau" or switching_mode == "bbswitch":89 logger.warning("%s is selected, pci_remove option ignored.", switching_mode)90 else:91 logger.info("Removing Nvidia from PCI bus")92 _try_remove_pci()93 if config["optimus"]["pci_power_control"] == "yes":94 switching_mode = config["optimus"]["switching"]95 if switching_mode == "bbswitch" or switching_mode == "acpi_call":96 logger.warning("%s is enabled, pci_power_control option ignored.", switching_mode)97 elif config["optimus"]["pci_remove"] == "yes":98 logger.warning("pci_remove is enabled, pci_power_control option ignored.")99 else:100 _try_set_pci_power_state("auto")101def _get_available_modules():102 MODULES = ["nouveau", "bbswitch", "acpi_call", "nvidia", "nvidia_drm", "nvidia_modeset", "nvidia_uvm", "ipmi_devintf", "ipmi_msghandler"]103 return [module for module in MODULES if checks.is_module_available(module)]104def _load_nvidia_modules(config, available_modules):105 pat_value = _get_PAT_parameter_value(config)106 modeset_value = 1 if config["nvidia"]["modeset"] == "yes" else 0107 _load_module(available_modules, "nvidia", options="NVreg_UsePageAttributeTable=%d" % pat_value)108 _load_module(available_modules, "nvidia_drm", options="modeset=%d" % modeset_value)109def _load_nouveau(config, available_modules):110 modeset_value = 1 if config["intel"]["modeset"] == "yes" else 0111 _load_module(available_modules, "nouveau", options="modeset=%d" % modeset_value)112def _try_load_nouveau(config, available_modules):113 logger = get_logger()114 try:115 _load_nouveau(config, available_modules)...

Full Screen

Full Screen

python_unittests.py

Source:python_unittests.py Github

copy

Full Screen

1#!/usr/bin/env python32"""3Unittests for Botan Python scripts.4Requires Python 3.5(C) 2017 Simon Warta (Kullo GmbH)6Botan is released under the Simplified BSD License (see license.txt)7"""8import sys9import unittest10sys.path.append("../..") # Botan repo root11from configure import AmalgamationHelper # pylint: disable=wrong-import-position12from configure import ModulesChooser # pylint: disable=wrong-import-position13class AmalgamationHelperTests(unittest.TestCase):14 def test_matcher_std_includes(self):15 self.assertEqual(AmalgamationHelper.is_unconditional_std_include("#include <string>"), "string")16 self.assertEqual(AmalgamationHelper.is_unconditional_std_include("#include <string> // comment"), "string")17 self.assertEqual(AmalgamationHelper.is_unconditional_std_include("#include <myfile.h>"), None)18 self.assertEqual(AmalgamationHelper.is_unconditional_std_include("#include <unistd.h>"), None)19 self.assertEqual(AmalgamationHelper.is_unconditional_std_include(" #include <string>"), None)20 def test_matcher_botan_include(self):21 self.assertEqual(AmalgamationHelper.is_botan_include("#include <botan/oids.h>"),22 "oids.h")23 self.assertEqual(AmalgamationHelper.is_botan_include("#include <botan/internal/socket.h>"),24 "internal/socket.h")25 self.assertEqual(AmalgamationHelper.is_botan_include("#include <botan/oids.h> // comment"),26 "oids.h")27 self.assertEqual(AmalgamationHelper.is_botan_include("#include <botan/internal/socket.h> // comment"),28 "internal/socket.h")29 self.assertEqual(AmalgamationHelper.is_botan_include(" #include <botan/oids.h>"),30 "oids.h")31 self.assertEqual(AmalgamationHelper.is_botan_include(" #include <botan/internal/socket.h>"),32 "internal/socket.h")33 self.assertEqual(AmalgamationHelper.is_botan_include("#include <string>"), None)34 self.assertEqual(AmalgamationHelper.is_botan_include("#include <myfile.h>"), None)35 self.assertEqual(AmalgamationHelper.is_botan_include("#include <unistd.h>"), None)36 def test_matcher_any_includes(self):37 self.assertEqual(AmalgamationHelper.is_any_include("#include <string>"), "string")38 self.assertEqual(AmalgamationHelper.is_any_include("#include <myfile.h>"), "myfile.h")39 self.assertEqual(AmalgamationHelper.is_any_include("#include <unistd.h>"), "unistd.h")40 self.assertEqual(AmalgamationHelper.is_any_include("#include <botan/oids.h>"),41 "botan/oids.h")42 self.assertEqual(AmalgamationHelper.is_any_include(" #include <string>"), "string")43 self.assertEqual(AmalgamationHelper.is_any_include(" #include <myfile.h>"), "myfile.h")44 self.assertEqual(AmalgamationHelper.is_any_include(" #include <unistd.h>"), "unistd.h")45 self.assertEqual(AmalgamationHelper.is_any_include(" #include <botan/oids.h>"),46 "botan/oids.h")47 self.assertEqual(AmalgamationHelper.is_any_include("#include <string> // comment"), "string")48 self.assertEqual(AmalgamationHelper.is_any_include("#include <myfile.h> // comment"), "myfile.h")49 self.assertEqual(AmalgamationHelper.is_any_include("#include <unistd.h> // comment"), "unistd.h")50 self.assertEqual(AmalgamationHelper.is_any_include("#include <botan/oids.h> // comment"),51 "botan/oids.h")52class ModulesChooserResolveDependencies(unittest.TestCase):53 def test_base(self):54 available_modules = set(["A", "B"])55 table = {56 "A": [],57 }58 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")59 self.assertTrue(ok)60 self.assertEqual(modules, set(["A"]))61 def test_no_dependencies_defined(self):62 available_modules = set(["A", "B"])63 table = {64 "A": [],65 }66 with self.assertRaises(KeyError):67 ModulesChooser.resolve_dependencies(available_modules, table, "B")68 available_modules = set(["A", "B"])69 table = {70 "A": ["B"],71 }72 with self.assertRaises(KeyError):73 ModulesChooser.resolve_dependencies(available_modules, table, "A")74 def test_add_dependency(self):75 available_modules = set(["A", "B"])76 table = {77 "A": ["B"],78 "B": []79 }80 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")81 self.assertTrue(ok)82 self.assertEqual(modules, set(["A", "B"]))83 def test_add_dependencies_two_levels(self):84 available_modules = set(["A", "B", "C"])85 table = {86 "A": ["B"],87 "B": ["C"],88 "C": []89 }90 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")91 self.assertTrue(ok)92 self.assertEqual(modules, set(["A", "B", "C"]))93 def test_circular(self):94 available_modules = set(["A", "B", "C"])95 table = {96 "A": ["B"],97 "B": ["C"],98 "C": ["A"]99 }100 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")101 self.assertTrue(ok)102 self.assertEqual(modules, set(["A", "B", "C"]))103 def test_not_available(self):104 available_modules = set(["A", "C"])105 table = {106 "A": ["B"],107 "B": ["C"],108 "C": ["A"]109 }110 ok, _ = ModulesChooser.resolve_dependencies(available_modules, table, "B")111 self.assertFalse(ok)112 def test_dependency_not_available(self):113 available_modules = set(["A", "C"])114 table = {115 "A": ["B"],116 "B": ["C"],117 "C": ["A"]118 }119 ok, _ = ModulesChooser.resolve_dependencies(available_modules, table, "A")120 self.assertFalse(ok)121 def test_dependency2_not_available(self):122 available_modules = set(["A", "B"])123 table = {124 "A": ["B"],125 "B": ["C"],126 "C": ["A"]127 }128 ok, _ = ModulesChooser.resolve_dependencies(available_modules, table, "A")129 self.assertFalse(ok)130 def test_dependency_choices(self):131 available_modules = set(["A", "B", "C"])132 table = {133 "A": ["B|C"],134 "B": [],135 "C": []136 }137 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")138 self.assertTrue(ok)139 self.assertTrue(modules == set(["A", "B"]) or modules == set(["A", "C"]))140 def test_dependency_prefer_existing(self):141 available_modules = set(["A", "B", "C"])142 table = {143 "A": ["C", "B|C"],144 "B": [],145 "C": []146 }147 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")148 self.assertTrue(ok)149 self.assertEqual(modules, set(["A", "C"]))150 def test_dependency_prefer_existing2(self):151 available_modules = set(["A", "B", "C"])152 table = {153 "A": ["B", "B|C"],154 "B": [],155 "C": []156 }157 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")158 self.assertTrue(ok)159 self.assertEqual(modules, set(["A", "B"]))160 def test_dependency_choices_impossible(self):161 available_modules = set(["A", "C"])162 table = {163 "A": ["B|C"],164 "B": [],165 "C": []166 }167 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")168 self.assertTrue(ok)169 self.assertEqual(modules, set(["A", "C"]))170 def test_dependency_choices_impossible2(self):171 available_modules = set(["A", "B"])172 table = {173 "A": ["B|C"],174 "B": [],175 "C": []176 }177 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")178 self.assertTrue(ok)179 self.assertEqual(modules, set(["A", "B"]))180 def test_deep(self):181 available_modules = set(["A", "B", "C", "E", "G"])182 table = {183 "A": ["B|C"],184 "B": ["D"],185 "C": ["E"],186 "D": [],187 "E": ["F|G"],188 "F": ["A", "B"],189 "G": ["A", "G"]190 }191 ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "G")192 self.assertTrue(ok)193 self.assertEqual(modules, set(["G", "A", "C", "E"]))194if __name__ == '__main__':195 unittest.TestCase.longMessage = True...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run tempest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful