In order to support users wanting to install the autotest
modules as system wide libraries, modify all common.py files
to try importing the setup_modules module as a normal
system wide python module, and fail back to the traditional
method of loading the same module (figure out by relative
positioning of the file).

Signed-off-by: Lucas Meneghel Rodrigues <[email protected]>
---
 cli/common.py                                      |   18 ++++++++++++------
 cli/contrib/common.py                              |   18 ++++++++++++------
 client/bin/common.py                               |   15 ++++++++++-----
 client/bin/net/common.py                           |   15 ++++++++++-----
 client/common_lib/common.py                        |   15 ++++++++++-----
 client/setup_modules.py                            |   16 ++++++++++------
 client/tests/iozone/common.py                      |   15 ++++++++++-----
 client/tests/kvm/common.py                         |   15 ++++++++++-----
 client/tests/wb_kupdate/common.py                  |   18 ++++++++++++------
 common.py                                          |   18 ++++++++++++------
 database/common.py                                 |   18 ++++++++++++------
 frontend/afe/common.py                             |   18 ++++++++++++------
 frontend/afe/json_rpc/common.py                    |   18 ++++++++++++------
 frontend/common.py                                 |   18 ++++++++++++------
 frontend/migrations/common.py                      |   18 ++++++++++++------
 frontend/shared/common.py                          |   18 ++++++++++++------
 frontend/tko/common.py                             |   18 ++++++++++++------
 mirror/common.py                                   |   18 ++++++++++++------
 scheduler/common.py                                |   18 ++++++++++++------
 server/common.py                                   |   18 ++++++++++++------
 server/hosts/common.py                             |   18 ++++++++++++------
 server/hosts/monitors/common.py                    |   18 ++++++++++++------
 tko/common.py                                      |   18 ++++++++++++------
 tko/migrations/common.py                           |   18 ++++++++++++------
 tko/parsers/common.py                              |   18 ++++++++++++------
 tko/parsers/test/common.py                         |   18 ++++++++++++------
 .../test/templates/scenario_package_common.py      |   18 ++++++++++++------
 utils/common.py                                    |   18 ++++++++++++------
 utils/modelviz/common.py                           |   16 ++++++++++------
 29 files changed, 334 insertions(+), 169 deletions(-)

diff --git a/cli/common.py b/cli/common.py
index 9941b19..0a5eb45 100644
--- a/cli/common.py
+++ b/cli/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/cli/contrib/common.py b/cli/contrib/common.py
index 41607e1..6767ca8 100644
--- a/cli/contrib/common.py
+++ b/cli/contrib/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/client/bin/common.py b/client/bin/common.py
index 6881386..9df4b7e 100644
--- a/client/bin/common.py
+++ b/client/bin/common.py
@@ -1,8 +1,13 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-client_dir = os.path.abspath(os.path.join(dirname, ".."))
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    client_dir = os.path.dirname(setup_modules.__file__)
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    client_dir = os.path.abspath(os.path.join(dirname, ".."))
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=client_dir,
                     root_module_name="autotest_lib.client")
diff --git a/client/bin/net/common.py b/client/bin/net/common.py
index 7443052..61d792d 100644
--- a/client/bin/net/common.py
+++ b/client/bin/net/common.py
@@ -1,8 +1,13 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-client_dir = os.path.abspath(os.path.join(dirname, "../.."))
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    client_dir = os.path.dirname(setup_modules.__file__)
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    client_dir = os.path.abspath(os.path.join(dirname, "../.."))
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=client_dir,
                     root_module_name="autotest_lib.client")
diff --git a/client/common_lib/common.py b/client/common_lib/common.py
index 6881386..9df4b7e 100644
--- a/client/common_lib/common.py
+++ b/client/common_lib/common.py
@@ -1,8 +1,13 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-client_dir = os.path.abspath(os.path.join(dirname, ".."))
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    client_dir = os.path.dirname(setup_modules.__file__)
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    client_dir = os.path.abspath(os.path.join(dirname, ".."))
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=client_dir,
                     root_module_name="autotest_lib.client")
diff --git a/client/setup_modules.py b/client/setup_modules.py
index 4939120..5ef02df 100644
--- a/client/setup_modules.py
+++ b/client/setup_modules.py
@@ -2,12 +2,16 @@ __author__ = "[email protected] (John Admanski)"
 
 import os, sys
 
-# This must run on Python versions less than 2.4.
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-common_dir = os.path.abspath(os.path.join(dirname, "common_lib"))
-sys.path.insert(0, common_dir)
-import check_version
-sys.path.pop(0)
+try:
+    import autotest.client.common_lib.check_python_version as check_version
+except ImportError:
+    # This must run on Python versions less than 2.4.
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    common_dir = os.path.abspath(os.path.join(dirname, "common_lib"))
+    sys.path.insert(0, common_dir)
+    import check_version
+    sys.path.pop(0)
+
 check_version.check_python_version()
 
 import new, glob, traceback
diff --git a/client/tests/iozone/common.py b/client/tests/iozone/common.py
index ce78b85..7715526 100644
--- a/client/tests/iozone/common.py
+++ b/client/tests/iozone/common.py
@@ -1,8 +1,13 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-client_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    client_dir = os.path.dirname(setup_modules.__file__)
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    client_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=client_dir,
                     root_module_name="autotest_lib.client")
diff --git a/client/tests/kvm/common.py b/client/tests/kvm/common.py
index ce78b85..7715526 100644
--- a/client/tests/kvm/common.py
+++ b/client/tests/kvm/common.py
@@ -1,8 +1,13 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-client_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    client_dir = os.path.dirname(setup_modules.__file__)
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    client_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=client_dir,
                     root_module_name="autotest_lib.client")
diff --git a/client/tests/wb_kupdate/common.py 
b/client/tests/wb_kupdate/common.py
index c505ee4..9356d20 100644
--- a/client/tests/wb_kupdate/common.py
+++ b/client/tests/wb_kupdate/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", "..", ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, '..', '..'))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/common.py b/common.py
index 48676a7..9d239a9 100644
--- a/common.py
+++ b/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(dirname)
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(dirname)
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/database/common.py b/database/common.py
index 9941b19..0a5eb45 100644
--- a/database/common.py
+++ b/database/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/frontend/afe/common.py b/frontend/afe/common.py
index 1edf302..9356d20 100644
--- a/frontend/afe/common.py
+++ b/frontend/afe/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, '..', '..'))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, '..', '..'))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/frontend/afe/json_rpc/common.py b/frontend/afe/json_rpc/common.py
index 1d171c6..dcd6998 100644
--- a/frontend/afe/json_rpc/common.py
+++ b/frontend/afe/json_rpc/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "../../../"))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "../../../"))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/frontend/common.py b/frontend/common.py
index 9941b19..0a5eb45 100644
--- a/frontend/common.py
+++ b/frontend/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/frontend/migrations/common.py b/frontend/migrations/common.py
index 4c8760b..3b244b4 100644
--- a/frontend/migrations/common.py
+++ b/frontend/migrations/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", '..'))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", '..'))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/frontend/shared/common.py b/frontend/shared/common.py
index 1edf302..9356d20 100644
--- a/frontend/shared/common.py
+++ b/frontend/shared/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, '..', '..'))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, '..', '..'))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/frontend/tko/common.py b/frontend/tko/common.py
index 1edf302..9356d20 100644
--- a/frontend/tko/common.py
+++ b/frontend/tko/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, '..', '..'))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, '..', '..'))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/mirror/common.py b/mirror/common.py
index 9941b19..0a5eb45 100644
--- a/mirror/common.py
+++ b/mirror/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/scheduler/common.py b/scheduler/common.py
index 9941b19..0a5eb45 100644
--- a/scheduler/common.py
+++ b/scheduler/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/server/common.py b/server/common.py
index 9941b19..0a5eb45 100644
--- a/server/common.py
+++ b/server/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/server/hosts/common.py b/server/hosts/common.py
index 41607e1..6767ca8 100644
--- a/server/hosts/common.py
+++ b/server/hosts/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/server/hosts/monitors/common.py b/server/hosts/monitors/common.py
index c505ee4..dcb0182 100644
--- a/server/hosts/monitors/common.py
+++ b/server/hosts/monitors/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", "..", ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", "..", ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/tko/common.py b/tko/common.py
index 9941b19..0a5eb45 100644
--- a/tko/common.py
+++ b/tko/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/tko/migrations/common.py b/tko/migrations/common.py
index 4c8760b..3b244b4 100644
--- a/tko/migrations/common.py
+++ b/tko/migrations/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", '..'))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", '..'))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/tko/parsers/common.py b/tko/parsers/common.py
index 41607e1..6767ca8 100644
--- a/tko/parsers/common.py
+++ b/tko/parsers/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/tko/parsers/test/common.py b/tko/parsers/test/common.py
index c505ee4..dcb0182 100644
--- a/tko/parsers/test/common.py
+++ b/tko/parsers/test/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", "..", ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", "..", ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/tko/parsers/test/templates/scenario_package_common.py 
b/tko/parsers/test/templates/scenario_package_common.py
index 08a914c..90f3161 100644
--- a/tko/parsers/test/templates/scenario_package_common.py
+++ b/tko/parsers/test/templates/scenario_package_common.py
@@ -1,9 +1,15 @@
 # This is meant to run from within a scenario package
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", "..", "..", ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", "..", "..", 
"..", ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/utils/common.py b/utils/common.py
index 9941b19..0a5eb45 100644
--- a/utils/common.py
+++ b/utils/common.py
@@ -1,8 +1,14 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+    dirname = os.path.dirname(setup_modules.__file__)
+    autotest_dir = os.path.join(dirname, "..")
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
diff --git a/utils/modelviz/common.py b/utils/modelviz/common.py
index 41607e1..933ce49 100644
--- a/utils/modelviz/common.py
+++ b/utils/modelviz/common.py
@@ -1,8 +1,12 @@
 import os, sys
-dirname = os.path.dirname(sys.modules[__name__].__file__)
-autotest_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
-client_dir = os.path.join(autotest_dir, "client")
-sys.path.insert(0, client_dir)
-import setup_modules
-sys.path.pop(0)
+try:
+    import autotest.client.setup_modules as setup_modules
+except ImportError:
+    dirname = os.path.dirname(sys.modules[__name__].__file__)
+    autotest_dir = os.path.abspath(os.path.join(dirname, "..", ".."))
+    client_dir = os.path.join(autotest_dir, "client")
+    sys.path.insert(0, client_dir)
+    import setup_modules
+    sys.path.pop(0)
+
 setup_modules.setup(base_path=autotest_dir, root_module_name="autotest_lib")
-- 
1.7.7.6

_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to