1 |
commit: 7c3f2ef461e92ef610ea835997c21921a8b4d05f |
2 |
Author: Jauhien Piatlicki (jauhien) <piatlicki <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue Jul 2 12:26:25 2013 +0000 |
4 |
Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com> |
5 |
CommitDate: Tue Jul 2 12:26:25 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=7c3f2ef4 |
7 |
|
8 |
base class for tests and initial commit for py2 compatibility module |
9 |
|
10 |
--- |
11 |
g_sorcery/compatibility.py | 21 +++++++++++++++++++++ |
12 |
tests/base.py | 24 ++++++++++++++++++++++++ |
13 |
tests/test_backend.py | 10 +++------- |
14 |
tests/test_dummy.py | 7 +++---- |
15 |
tests/test_ebuild.py | 18 ++++-------------- |
16 |
tests/test_elpa_db.py | 7 ++----- |
17 |
tests/test_fileutils.py | 8 +++----- |
18 |
tests/test_g_sorcery.py | 16 +++++----------- |
19 |
tests/test_metadata.py | 14 +++----------- |
20 |
tests/test_package_db.py | 8 +++++--- |
21 |
10 files changed, 73 insertions(+), 60 deletions(-) |
22 |
|
23 |
diff --git a/g_sorcery/compatibility.py b/g_sorcery/compatibility.py |
24 |
new file mode 100644 |
25 |
index 0000000..ea6f3bf |
26 |
--- /dev/null |
27 |
+++ b/g_sorcery/compatibility.py |
28 |
@@ -0,0 +1,21 @@ |
29 |
+#!/usr/bin/env python |
30 |
+# -*- coding: utf-8 -*- |
31 |
+ |
32 |
+""" |
33 |
+ compatibility.py |
34 |
+ ~~~~~~~~~~~~~~~~ |
35 |
+ |
36 |
+ utilities for py2 compatibility |
37 |
+ |
38 |
+ :copyright: (c) 2013 by Jauhien Piatlicki |
39 |
+ :license: GPL-2, see LICENSE for more details. |
40 |
+""" |
41 |
+ |
42 |
+import sys |
43 |
+ |
44 |
+py2k = sys.version_info < (3, 0) |
45 |
+ |
46 |
+if py2k: |
47 |
+ pass |
48 |
+else: |
49 |
+ from tempfile import TemporaryDirectory |
50 |
|
51 |
diff --git a/tests/base.py b/tests/base.py |
52 |
new file mode 100644 |
53 |
index 0000000..0c3270a |
54 |
--- /dev/null |
55 |
+++ b/tests/base.py |
56 |
@@ -0,0 +1,24 @@ |
57 |
+#!/usr/bin/env python |
58 |
+# -*- coding: utf-8 -*- |
59 |
+ |
60 |
+""" |
61 |
+ base.py |
62 |
+ ~~~~~~~ |
63 |
+ |
64 |
+ base class for tests |
65 |
+ |
66 |
+ :copyright: (c) 2013 by Jauhien Piatlicki |
67 |
+ :license: GPL-2, see LICENSE for more details. |
68 |
+""" |
69 |
+ |
70 |
+import unittest |
71 |
+ |
72 |
+from g_sorcery.compatibility import TemporaryDirectory |
73 |
+ |
74 |
+class BaseTest(unittest.TestCase): |
75 |
+ |
76 |
+ def setUp(self): |
77 |
+ self.tempdir = TemporaryDirectory() |
78 |
+ |
79 |
+ def tearDown(self): |
80 |
+ del self.tempdir |
81 |
|
82 |
diff --git a/tests/test_backend.py b/tests/test_backend.py |
83 |
index 65e136d..2c28f79 100644 |
84 |
--- a/tests/test_backend.py |
85 |
+++ b/tests/test_backend.py |
86 |
@@ -17,6 +17,8 @@ from g_sorcery import backend, ebuild, metadata, package_db |
87 |
|
88 |
from tests import test_ebuild, test_metadata |
89 |
|
90 |
+from tests.base import BaseTest |
91 |
+ |
92 |
class DummyBackend(backend.Backend): |
93 |
def __init__(self, PackageDB, EbuildGenrator, MetadataGenerator, directory, |
94 |
sync_db=True, eclass_dir=""): |
95 |
@@ -24,14 +26,8 @@ class DummyBackend(backend.Backend): |
96 |
sync_db=sync_db, eclass_dir=eclass_dir) |
97 |
|
98 |
|
99 |
-class TestBackend(unittest.TestCase): |
100 |
+class TestBackend(BaseTest): |
101 |
|
102 |
- def setUp(self): |
103 |
- self.tempdir = tempfile.TemporaryDirectory() |
104 |
- |
105 |
- def tearDown(self): |
106 |
- del self.tempdir |
107 |
- |
108 |
def test_list_eclasses(self): |
109 |
backend = DummyBackend(package_db.PackageDB, ebuild.EbuildGenerator, |
110 |
metadata.MetadataGenerator, |
111 |
|
112 |
diff --git a/tests/test_dummy.py b/tests/test_dummy.py |
113 |
index dfa9700..58df716 100644 |
114 |
--- a/tests/test_dummy.py |
115 |
+++ b/tests/test_dummy.py |
116 |
@@ -13,10 +13,9 @@ |
117 |
|
118 |
import unittest |
119 |
|
120 |
-class TestDummy(unittest.TestCase): |
121 |
- |
122 |
- def setUp(self): |
123 |
- pass |
124 |
+from tests.base import BaseTest |
125 |
+ |
126 |
+class TestDummy(BaseTest): |
127 |
|
128 |
def test_dummy(self): |
129 |
self.assertEqual('works', 'works') |
130 |
|
131 |
diff --git a/tests/test_ebuild.py b/tests/test_ebuild.py |
132 |
index 52c34f5..8e7aca4 100644 |
133 |
--- a/tests/test_ebuild.py |
134 |
+++ b/tests/test_ebuild.py |
135 |
@@ -15,6 +15,8 @@ import os, tempfile, unittest |
136 |
|
137 |
from g_sorcery import ebuild, package_db |
138 |
|
139 |
+from tests.base import BaseTest |
140 |
+ |
141 |
package = package_db.Package("app-test", "test", "0.1") |
142 |
package2 = package_db.Package("app-test", "tst", "1") |
143 |
|
144 |
@@ -36,13 +38,7 @@ class DummyEbuildGenerator(ebuild.EbuildGenerator): |
145 |
return tmpl |
146 |
|
147 |
|
148 |
-class TestEbuildGenerator(unittest.TestCase): |
149 |
- |
150 |
- def setUp(self): |
151 |
- self.tempdir = tempfile.TemporaryDirectory() |
152 |
- |
153 |
- def tearDown(self): |
154 |
- del self.tempdir |
155 |
+class TestEbuildGenerator(BaseTest): |
156 |
|
157 |
def test_process(self): |
158 |
eg = DummyEbuildGenerator(None) |
159 |
@@ -69,13 +65,7 @@ class DummyEbuildGeneratorFromFile(ebuild.EbuildGeneratorFromFile): |
160 |
return self.path |
161 |
|
162 |
|
163 |
-class TestEbuildGeneratorFromFile(unittest.TestCase): |
164 |
- |
165 |
- def setUp(self): |
166 |
- self.tempdir = tempfile.TemporaryDirectory() |
167 |
- |
168 |
- def tearDown(self): |
169 |
- del self.tempdir |
170 |
+class TestEbuildGeneratorFromFile(BaseTest): |
171 |
|
172 |
def test_generate(self): |
173 |
db = DummyDB(os.path.join(self.tempdir.name, 'tstdb')) |
174 |
|
175 |
diff --git a/tests/test_elpa_db.py b/tests/test_elpa_db.py |
176 |
index 97ce4e2..874ee96 100644 |
177 |
--- a/tests/test_elpa_db.py |
178 |
+++ b/tests/test_elpa_db.py |
179 |
@@ -19,12 +19,9 @@ from g_sorcery import exceptions, package_db |
180 |
|
181 |
from tests.server import Server |
182 |
|
183 |
-class TestElpaDB(unittest.TestCase): |
184 |
- def setUp(self): |
185 |
- self.tempdir = tempfile.TemporaryDirectory() |
186 |
+from tests.base import BaseTest |
187 |
|
188 |
- def tearDown(self): |
189 |
- del self.tempdir |
190 |
+class TestElpaDB(BaseTest): |
191 |
|
192 |
def test_generate(self): |
193 |
prev = os.getcwd() |
194 |
|
195 |
diff --git a/tests/test_fileutils.py b/tests/test_fileutils.py |
196 |
index 1760444..1e3ab1f 100644 |
197 |
--- a/tests/test_fileutils.py |
198 |
+++ b/tests/test_fileutils.py |
199 |
@@ -15,17 +15,15 @@ import json, os, shutil, tempfile, unittest |
200 |
|
201 |
from g_sorcery import exceptions, fileutils |
202 |
|
203 |
+from tests.base import BaseTest |
204 |
|
205 |
-class TestFileJSON(unittest.TestCase): |
206 |
+class TestFileJSON(BaseTest): |
207 |
|
208 |
def setUp(self): |
209 |
- self.tempdir = tempfile.TemporaryDirectory() |
210 |
+ super().setUp() |
211 |
self.path = os.path.join(self.tempdir.name, 'tst') |
212 |
self.name = 'tst.json' |
213 |
|
214 |
- def tearDown(self): |
215 |
- del self.tempdir |
216 |
- |
217 |
def do_test_read_ok(self, mandatories, value_suffix=""): |
218 |
f = fileutils.FileJSON(self.path, self.name, mandatories) |
219 |
content = f.read() |
220 |
|
221 |
diff --git a/tests/test_g_sorcery.py b/tests/test_g_sorcery.py |
222 |
index 4b18474..bc91e97 100644 |
223 |
--- a/tests/test_g_sorcery.py |
224 |
+++ b/tests/test_g_sorcery.py |
225 |
@@ -17,17 +17,16 @@ from g_sorcery import g_sorcery |
226 |
|
227 |
from tests.dummy_backend import backend as dummyBackend |
228 |
|
229 |
-class TestBin(unittest.TestCase): |
230 |
+from tests.base import BaseTest |
231 |
+ |
232 |
+class TestBin(BaseTest): |
233 |
def setUp(self): |
234 |
- self.tempdir = tempfile.TemporaryDirectory() |
235 |
+ super().setUp() |
236 |
|
237 |
binpath = os.path.join(os.path.dirname( |
238 |
os.path.dirname(os.path.realpath(__file__))), 'bin') |
239 |
self.binary = os.path.join(binpath, 'g-sorcery') |
240 |
|
241 |
- def tearDown(self): |
242 |
- del self.tempdir |
243 |
- |
244 |
def test_g_sorcery(self): |
245 |
self.assertEqual(subprocess.check_output(self.binary), b'g-sorcery\n') |
246 |
|
247 |
@@ -55,12 +54,7 @@ class TestBin(unittest.TestCase): |
248 |
dummyBackend.instance.test()) |
249 |
os.chdir(prev) |
250 |
|
251 |
-class TestGSorcery(unittest.TestCase): |
252 |
- def setUp(self): |
253 |
- self.tempdir = tempfile.TemporaryDirectory() |
254 |
- |
255 |
- def tearDown(self): |
256 |
- del self.tempdir |
257 |
+class TestGSorcery(BaseTest): |
258 |
|
259 |
def test_get_backend(self): |
260 |
self.assertEqual(g_sorcery.get_backend('nonexistent_backend'), None) |
261 |
|
262 |
diff --git a/tests/test_metadata.py b/tests/test_metadata.py |
263 |
index 9bb1f43..4906541 100644 |
264 |
--- a/tests/test_metadata.py |
265 |
+++ b/tests/test_metadata.py |
266 |
@@ -17,12 +17,9 @@ import tempfile, unittest |
267 |
|
268 |
from g_sorcery import exceptions, metadata, package_db |
269 |
|
270 |
-class TestXMLGenerator(unittest.TestCase): |
271 |
- def setUp(self): |
272 |
- pass |
273 |
+from tests.base import BaseTest |
274 |
|
275 |
- def tearDown(self): |
276 |
- pass |
277 |
+class TestXMLGenerator(BaseTest): |
278 |
|
279 |
def test_generate(self): |
280 |
schema = [{'name' : 'desc', |
281 |
@@ -108,12 +105,7 @@ class DummyDB(package_db.PackageDB): |
282 |
self.add_package(package, description) |
283 |
|
284 |
|
285 |
-class TestMetadataGenerator(unittest.TestCase): |
286 |
- def setUp(self): |
287 |
- self.tempdir = tempfile.TemporaryDirectory() |
288 |
- |
289 |
- def tearDown(self): |
290 |
- del self.tempdir |
291 |
+class TestMetadataGenerator(BaseTest): |
292 |
|
293 |
def test_process(self): |
294 |
mg = DummyMetadataGenerator(None) |
295 |
|
296 |
diff --git a/tests/test_package_db.py b/tests/test_package_db.py |
297 |
index 1433eb7..6b1004e 100644 |
298 |
--- a/tests/test_package_db.py |
299 |
+++ b/tests/test_package_db.py |
300 |
@@ -17,6 +17,8 @@ from g_sorcery import package_db, exceptions |
301 |
|
302 |
from tests.server import Server |
303 |
|
304 |
+from tests.base import BaseTest |
305 |
+ |
306 |
class DummyDB(package_db.PackageDB): |
307 |
def __init__(self, directory, packages): |
308 |
super().__init__(directory) |
309 |
@@ -33,10 +35,10 @@ class DummyDB(package_db.PackageDB): |
310 |
return self.db_uri + '/dummy.tar.gz' |
311 |
|
312 |
|
313 |
-class TestDummyDB(unittest.TestCase): |
314 |
+class TestDummyDB(BaseTest): |
315 |
|
316 |
def setUp(self): |
317 |
- self.tempdir = tempfile.TemporaryDirectory() |
318 |
+ super().setUp() |
319 |
category1 = 'app-test' |
320 |
category2 = 'dev-test' |
321 |
self.packages = [package_db.Package(category1, 'test', '0.2'), |
322 |
@@ -47,7 +49,7 @@ class TestDummyDB(unittest.TestCase): |
323 |
package_db.Package(category2, 'tst', '0.1')] |
324 |
|
325 |
def tearDown(self): |
326 |
- del self.tempdir |
327 |
+ super().tearDown() |
328 |
|
329 |
def test_manifest(self): |
330 |
db = DummyDB(self.tempdir.name, self.packages) |