Gentoo Archives: gentoo-commits

From: Jauhien Piatlicki <piatlicki@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/g-sorcery:master commit in: g_sorcery/, tests/
Date: Tue, 02 Jul 2013 12:25:18
Message-Id: 1372767985.7c3f2ef461e92ef610ea835997c21921a8b4d05f.jauhien@gentoo
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)