Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(761)

Side by Side Diff: recipe_engine/third_party/setuptools/tests/test_markerlib.py

Issue 1344583003: Recipe package system. (Closed) Base URL: git@github.com:luci/recipes-py.git@master
Patch Set: Recompiled proto Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 import os
2 import unittest
3 from setuptools.tests.py26compat import skipIf
4
5 try:
6 import ast
7 except ImportError:
8 pass
9
10 class TestMarkerlib(unittest.TestCase):
11
12 @skipIf('ast' not in globals(),
13 "ast not available (Python < 2.6?)")
14 def test_markers(self):
15 from _markerlib import interpret, default_environment, compile
16
17 os_name = os.name
18
19 self.assertTrue(interpret(""))
20
21 self.assertTrue(interpret("os.name != 'buuuu'"))
22 self.assertTrue(interpret("os_name != 'buuuu'"))
23 self.assertTrue(interpret("python_version > '1.0'"))
24 self.assertTrue(interpret("python_version < '5.0'"))
25 self.assertTrue(interpret("python_version <= '5.0'"))
26 self.assertTrue(interpret("python_version >= '1.0'"))
27 self.assertTrue(interpret("'%s' in os.name" % os_name))
28 self.assertTrue(interpret("'%s' in os_name" % os_name))
29 self.assertTrue(interpret("'buuuu' not in os.name"))
30
31 self.assertFalse(interpret("os.name == 'buuuu'"))
32 self.assertFalse(interpret("os_name == 'buuuu'"))
33 self.assertFalse(interpret("python_version < '1.0'"))
34 self.assertFalse(interpret("python_version > '5.0'"))
35 self.assertFalse(interpret("python_version >= '5.0'"))
36 self.assertFalse(interpret("python_version <= '1.0'"))
37 self.assertFalse(interpret("'%s' not in os.name" % os_name))
38 self.assertFalse(interpret("'buuuu' in os.name and python_version >= '5. 0'"))
39 self.assertFalse(interpret("'buuuu' in os_name and python_version >= '5. 0'"))
40
41 environment = default_environment()
42 environment['extra'] = 'test'
43 self.assertTrue(interpret("extra == 'test'", environment))
44 self.assertFalse(interpret("extra == 'doc'", environment))
45
46 def raises_nameError():
47 try:
48 interpret("python.version == '42'")
49 except NameError:
50 pass
51 else:
52 raise Exception("Expected NameError")
53
54 raises_nameError()
55
56 def raises_syntaxError():
57 try:
58 interpret("(x for x in (4,))")
59 except SyntaxError:
60 pass
61 else:
62 raise Exception("Expected SyntaxError")
63
64 raises_syntaxError()
65
66 statement = "python_version == '5'"
67 self.assertEqual(compile(statement).__doc__, statement)
68
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698