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

Side by Side Diff: platform_tools/android/tests/generate_user_config_tests.py

Issue 198063002: Updates to Android.mk generation. (Closed) Base URL: https://skia.googlesource.com/skia.git@android_mk
Patch Set: Add a comment explaining the motivation of OrderedSet. Created 6 years, 8 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 #!/usr/bin/python
2
3 # Copyright 2014 Google Inc.
4 #
5 # Use of this source code is governed by a BSD-style license that can be
6 # found in the LICENSE file.
7
8 """
9 Test generate_user_config.py.
10 """
11
12 import argparse
13 import os
14 import shutil
15 import sys
16 import tempfile
17 import test_variables
18 import unittest
19 import utils
20
21 sys.path.append(test_variables.GYP_GEN_DIR)
22
23 from generate_user_config import generate_user_config as gen_config
24
25 # Name of SkUserConfig file.
26 USER_CONFIG_NAME = 'SkUserConfig.h'
27 # Path to unchanging Dummy SkUserConfig file.
28 FULL_DUMMY_PATH = os.path.join(os.path.dirname(__file__), 'inputs',
29 USER_CONFIG_NAME)
30 REBASELINE_MSG = ('If you\'ve modified generate_user_config.py, run '
31 '"generate_user_config_tests.py --rebaseline" to rebaseline')
32
33 def generate_dummy_user_config(original_sk_user_config, target_dir):
34 # Add an arbitrary set of defines
35 defines = [ 'SK_BUILD_FOR_ANDROID',
36 'SK_BUILD_FOR_ANDROID_FRAMEWORK',
37 'SK_SCALAR_IS_FLOAT',
38 'foo',
39 'bar' ]
40 gen_config(original_sk_user_config=original_sk_user_config,
41 target_dir=target_dir, ordered_set=defines)
42
43
44 class GenUserConfigTest(unittest.TestCase):
45
46 def test_missing_sk_user_config(self):
47 tmp = tempfile.mkdtemp()
48 original = os.path.join(tmp, 'filename')
49 assert not os.path.exists(original)
50
51 with self.assertRaises(AssertionError):
52 ordered_set = [ 'define' ]
53 gen_config(original_sk_user_config=original, target_dir=tmp,
54 ordered_set=ordered_set)
55 shutil.rmtree(tmp)
56
57 def test_gen_config(self):
58 tmp = tempfile.mkdtemp()
59 generate_dummy_user_config(FULL_DUMMY_PATH, tmp)
60 actual_name = os.path.join(tmp, USER_CONFIG_NAME)
61 utils.compare_to_expectation(actual_name=actual_name,
62 expectation_name=USER_CONFIG_NAME,
63 assert_true=self.assertTrue, msg=REBASELINE_MSG)
64 shutil.rmtree(tmp)
65
66
67 def main():
68 loader = unittest.TestLoader()
69 suite = loader.loadTestsFromTestCase(GenUserConfigTest)
70 results = unittest.TextTestRunner(verbosity=2).run(suite)
71 print repr(results)
72 if not results.wasSuccessful():
73 raise Exception('failed one or more unittests')
74
75
76 def rebaseline():
77 generate_dummy_user_config(FULL_DUMMY_PATH, utils.EXPECTATIONS_DIR)
78
79 if __name__ == "__main__":
80 parser = argparse.ArgumentParser()
81 parser.add_argument('-r', '--rebaseline', help='Rebaseline expectations.',
82 action='store_true')
83 args = parser.parse_args()
84
85 if args.rebaseline:
86 rebaseline()
87 else:
88 main()
89
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698