OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 | 2 |
3 # Copyright 2014 Google Inc. | 3 # Copyright 2014 Google Inc. |
4 # | 4 # |
5 # Use of this source code is governed by a BSD-style license that can be | 5 # Use of this source code is governed by a BSD-style license that can be |
6 # found in the LICENSE file. | 6 # found in the LICENSE file. |
7 | 7 |
8 """ | 8 """ |
9 Test gyp_to_android.py | 9 Test gyp_to_android.py |
10 """ | 10 """ |
11 | 11 |
12 import os | 12 import os |
13 import shutil | 13 import shutil |
14 import sys | 14 import sys |
15 import tempfile | 15 import tempfile |
16 import test_variables | 16 import test_variables |
17 import unittest | 17 import unittest |
18 | 18 |
19 # Path to gyp_to_android | 19 # Path to android_framework_gyp |
20 sys.path.append(test_variables.BIN_DIR) | 20 sys.path.append(test_variables.GYP_GEN_DIR) |
21 | 21 |
22 import gyp_to_android | 22 import android_framework_gyp |
23 | |
24 class AndroidMkCreationTest(unittest.TestCase): | |
25 | |
26 def setUp(self): | |
27 # Create a temporary directory for storing the output (Android.mk) | |
28 self.__tmp_dir = tempfile.mkdtemp() | |
29 | |
30 def test_create(self): | |
31 gyp_to_android.main(self.__tmp_dir) | |
32 | |
33 # Now there should be a file named 'Android.mk' inside __tmp_dir | |
34 path_to_android_mk = os.path.join(self.__tmp_dir, 'Android.mk') | |
35 self.assertTrue(os.path.exists(path_to_android_mk)) | |
36 | |
37 def tearDown(self): | |
38 # Remove self.__tmp_dir, which is no longer needed. | |
39 shutil.rmtree(self.__tmp_dir) | |
40 | |
41 | 23 |
42 GYPD_SUFFIX = ".gypd" | 24 GYPD_SUFFIX = ".gypd" |
43 GYP_SUFFIX = ".gyp" | 25 GYP_SUFFIX = ".gyp" |
44 GYPI_SUFFIX = ".gypi" | 26 GYPI_SUFFIX = ".gypi" |
45 OTHER_SUFFIX = ".txt" | 27 OTHER_SUFFIX = ".txt" |
46 | 28 |
47 class CleanGypdTest(unittest.TestCase): | 29 class CleanGypdTest(unittest.TestCase): |
48 | 30 |
49 def setUp(self): | 31 def setUp(self): |
50 self.__tmp_dir = tempfile.mkdtemp() | 32 self.__tmp_dir = tempfile.mkdtemp() |
51 self.__num_files = 10 | 33 self.__num_files = 10 |
52 # Fill the dir with four types of files. .gypd files should be deleted by | 34 # Fill the dir with four types of files. .gypd files should be deleted by |
53 # clean_gypd_files(), while the rest should be left alone. | 35 # clean_gypd_files(), while the rest should be left alone. |
54 for i in range(self.__num_files): | 36 for i in range(self.__num_files): |
55 self.create_file('%s%s' % (str(i), GYPD_SUFFIX)) | 37 self.create_file('%s%s' % (str(i), GYPD_SUFFIX)) |
56 self.create_file('%s%s' % (str(i), GYPI_SUFFIX)) | 38 self.create_file('%s%s' % (str(i), GYPI_SUFFIX)) |
57 self.create_file('%s%s' % (str(i), GYP_SUFFIX)) | 39 self.create_file('%s%s' % (str(i), GYP_SUFFIX)) |
58 self.create_file('%s%s' % (str(i), OTHER_SUFFIX)) | 40 self.create_file('%s%s' % (str(i), OTHER_SUFFIX)) |
59 | 41 |
60 def create_file(self, basename): | 42 def create_file(self, basename): |
61 """ | 43 """Create a file named 'basename' in self.__tmp_dir. |
62 Create a file named 'basename' in self.__tmp_dir. | |
63 """ | 44 """ |
64 f = tempfile.mkstemp(dir=self.__tmp_dir) | 45 f = tempfile.mkstemp(dir=self.__tmp_dir) |
65 os.rename(f[1], os.path.join(self.__tmp_dir, basename)) | 46 os.rename(f[1], os.path.join(self.__tmp_dir, basename)) |
66 self.assert_file_exists(basename) | 47 self.assert_file_exists(basename) |
67 | 48 |
68 def assert_file_exists(self, basename): | 49 def assert_file_exists(self, basename): |
69 """ | 50 """Assert that 'basename' exists in self.__tmp_dir. |
70 Assert that 'basename' exists in self.__tmp_dir. | |
71 """ | 51 """ |
72 full_name = os.path.join(self.__tmp_dir, basename) | 52 full_name = os.path.join(self.__tmp_dir, basename) |
73 self.assertTrue(os.path.exists(full_name)) | 53 self.assertTrue(os.path.exists(full_name)) |
74 | 54 |
75 def assert_file_does_not_exist(self, basename): | 55 def assert_file_does_not_exist(self, basename): |
76 """ | 56 """Assert that 'basename' does not exist in self.__tmp_dir. |
77 Assert that 'basename' does not exist in self.__tmp_dir. | |
78 """ | 57 """ |
79 full_name = os.path.join(self.__tmp_dir, basename) | 58 full_name = os.path.join(self.__tmp_dir, basename) |
80 self.assertFalse(os.path.exists(full_name)) | 59 self.assertFalse(os.path.exists(full_name)) |
81 | 60 |
82 def test_clean(self): | 61 def test_clean(self): |
| 62 """Test that clean_gypd_files() deletes .gypd files, and leaves others. |
83 """ | 63 """ |
84 Test that clean_gypd_files() deletes .gypd files, and leaves others. | 64 android_framework_gyp.clean_gypd_files(self.__tmp_dir) |
85 """ | |
86 gyp_to_android.clean_gypd_files(self.__tmp_dir) | |
87 for i in range(self.__num_files): | 65 for i in range(self.__num_files): |
88 self.assert_file_exists('%s%s' % (str(i), GYPI_SUFFIX)) | 66 self.assert_file_exists('%s%s' % (str(i), GYPI_SUFFIX)) |
89 self.assert_file_exists('%s%s' % (str(i), GYP_SUFFIX)) | 67 self.assert_file_exists('%s%s' % (str(i), GYP_SUFFIX)) |
90 self.assert_file_exists('%s%s' % (str(i), OTHER_SUFFIX)) | 68 self.assert_file_exists('%s%s' % (str(i), OTHER_SUFFIX)) |
91 # Only the GYPD files should have been deleted. | 69 # Only the GYPD files should have been deleted. |
92 self.assert_file_does_not_exist('%s%s' % (str(i), GYPD_SUFFIX)) | 70 self.assert_file_does_not_exist('%s%s' % (str(i), GYPD_SUFFIX)) |
93 | 71 |
94 def tearDown(self): | 72 def tearDown(self): |
95 shutil.rmtree(self.__tmp_dir) | 73 shutil.rmtree(self.__tmp_dir) |
96 | 74 |
97 | 75 |
98 def main(): | 76 def main(): |
99 loader = unittest.TestLoader() | 77 loader = unittest.TestLoader() |
100 suite = loader.loadTestsFromTestCase(AndroidMkCreationTest) | 78 suite = loader.loadTestsFromTestCase(CleanGypdTest) |
101 suite.addTest(loader.loadTestsFromTestCase(CleanGypdTest)) | |
102 unittest.TextTestRunner(verbosity=2).run(suite) | 79 unittest.TextTestRunner(verbosity=2).run(suite) |
103 | 80 |
104 if __name__ == "__main__": | 81 if __name__ == "__main__": |
105 main() | 82 main() |
OLD | NEW |