[PATCH] KVM test: Fix subtest imports

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The KVM test was breaking when trying to import the subtest
'autotest', as a naming clash was happening (client/bin/autotest
was being imported instead of the autotest subtest), so to
make naming clashes less likely, import test.[type] instead
of just [type]. Also, as the kvm test was already inserted
to sys.path on the control file, don't add additional cruft
to the library search path.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx>
---
 client/tests/kvm/kvm.py |   22 +++++++++-------------
 1 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/client/tests/kvm/kvm.py b/client/tests/kvm/kvm.py
index 06ef9f5..332fa86 100644
--- a/client/tests/kvm/kvm.py
+++ b/client/tests/kvm/kvm.py
@@ -22,9 +22,7 @@ class kvm(test.test):
     """
     version = 1
     def initialize(self):
-        # Make it possible to import modules from the subtest dir
         self.subtest_dir = os.path.join(self.bindir, 'tests')
-        sys.path.append(self.subtest_dir)
 
 
     def run_once(self, params):
@@ -44,23 +42,20 @@ class kvm(test.test):
         try:
             try:
                 # Get the test routine corresponding to the specified test type
-                type = params.get("type")
+                t_type = params.get("type")
                 # Verify if we have the correspondent source file for it
-                module_path = os.path.join(self.subtest_dir, '%s.py' % type)
+                module_path = os.path.join(self.subtest_dir, '%s.py' % t_type)
                 if not os.path.isfile(module_path):
-                    raise error.TestError("No %s.py test file found" % type)
-                # Load the tests directory (which was turned into a py module)
-                try:
-                    test_module = __import__(type)
-                except ImportError, e:
-                    raise error.TestError("Failed to import test %s: %s" %
-                                          (type, e))
-
+                    raise error.TestError("No %s.py test file found" % t_type)
+                # Load the test module
+                # (KVM test dir was appended to sys.path in the control file)
+                __import__("tests.%s" % t_type)
+                test_module = sys.modules["tests.%s" % t_type]
                 # Preprocess
                 kvm_preprocessing.preprocess(self, params, env)
                 kvm_utils.dump_env(env, env_filename)
                 # Run the test function
-                run_func = getattr(test_module, "run_%s" % type)
+                run_func = getattr(test_module, "run_%s" % t_type)
                 run_func(self, params, env)
                 kvm_utils.dump_env(env, env_filename)
 
@@ -76,3 +71,4 @@ class kvm(test.test):
             kvm_preprocessing.postprocess(self, params, env)
             logging.debug("Contents of environment: %s", str(env))
             kvm_utils.dump_env(env, env_filename)
+
-- 
1.6.5.2

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux