1 |
commit: 02af1bb5bce3f4764fb076281122a82c317d99a6 |
2 |
Author: Jauhien Piatlicki (jauhien) <piatlicki <AT> gmail <DOT> com> |
3 |
AuthorDate: Mon Jul 1 22:05:02 2013 +0000 |
4 |
Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com> |
5 |
CommitDate: Mon Jul 1 22:05:02 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=02af1bb5 |
7 |
|
8 |
g_sorcery/g_sorcery: backend selection |
9 |
|
10 |
--- |
11 |
g_sorcery/g_sorcery.py | 3 ++- |
12 |
tests/dummy_backend/backend.py | 12 +++++++++++- |
13 |
tests/test_g_sorcery.py | 10 ++++++++++ |
14 |
3 files changed, 23 insertions(+), 2 deletions(-) |
15 |
|
16 |
diff --git a/g_sorcery/g_sorcery.py b/g_sorcery/g_sorcery.py |
17 |
index c815ec9..d6ca0e2 100644 |
18 |
--- a/g_sorcery/g_sorcery.py |
19 |
+++ b/g_sorcery/g_sorcery.py |
20 |
@@ -39,7 +39,8 @@ def main(): |
21 |
except FileJSONError as e: |
22 |
sys.stderr.write('g-sorcery error in config file for ' + name + ': ' + str(e) + '\n') |
23 |
return -1 |
24 |
- pass |
25 |
+ backend = get_backend(config['package']) |
26 |
+ print(backend.test()) |
27 |
|
28 |
def get_backend(package): |
29 |
try: |
30 |
|
31 |
diff --git a/tests/dummy_backend/backend.py b/tests/dummy_backend/backend.py |
32 |
index b23785c..8e43a4f 100644 |
33 |
--- a/tests/dummy_backend/backend.py |
34 |
+++ b/tests/dummy_backend/backend.py |
35 |
@@ -1,4 +1,14 @@ |
36 |
#!/usr/bin/env python |
37 |
# -*- coding: utf-8 -*- |
38 |
|
39 |
-instance = 'test' |
40 |
+class Test: |
41 |
+ def __init__(self): |
42 |
+ self.tst = 'test backend' |
43 |
+ |
44 |
+ def test(self): |
45 |
+ return('test') |
46 |
+ |
47 |
+ def __eq__(self, other): |
48 |
+ return self.tst == other.tst |
49 |
+ |
50 |
+instance = Test() |
51 |
|
52 |
diff --git a/tests/test_g_sorcery.py b/tests/test_g_sorcery.py |
53 |
index ece991d..4b18474 100644 |
54 |
--- a/tests/test_g_sorcery.py |
55 |
+++ b/tests/test_g_sorcery.py |
56 |
@@ -46,6 +46,15 @@ class TestBin(unittest.TestCase): |
57 |
self.assertRaises(subprocess.CalledProcessError, subprocess.check_output, './g-empty') |
58 |
os.chdir(prev) |
59 |
|
60 |
+ def test_config(self): |
61 |
+ prev = os.getcwd() |
62 |
+ os.chdir(self.tempdir.name) |
63 |
+ os.system('ln -s ' + self.binary + ' g-dummy') |
64 |
+ os.system('echo {\\"package\\": \\"dummy_backend\\"} > ./g-dummy.json') |
65 |
+ self.assertEqual(subprocess.check_output('./g-dummy').decode("utf-8")[:-1], |
66 |
+ dummyBackend.instance.test()) |
67 |
+ os.chdir(prev) |
68 |
+ |
69 |
class TestGSorcery(unittest.TestCase): |
70 |
def setUp(self): |
71 |
self.tempdir = tempfile.TemporaryDirectory() |
72 |
@@ -62,5 +71,6 @@ def suite(): |
73 |
suite.addTest(TestBin('test_g_sorcery')) |
74 |
suite.addTest(TestBin('test_nonexistent_backend')) |
75 |
suite.addTest(TestBin('test_empty_config')) |
76 |
+ suite.addTest(TestBin('test_config')) |
77 |
suite.addTest(TestGSorcery('test_get_backend')) |
78 |
return suite |