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 gyp_to_android.py 10 """ 11 12 import os 13 import shutil 14 import sys 15 import tempfile 16 import test_variables 17 import unittest 18 19 sys.path.append(test_variables.ANDROID_DIR) 20 21 import gyp_gen.android_framework_gyp 22 23 GYPD_SUFFIX = ".gypd" 24 GYP_SUFFIX = ".gyp" 25 GYPI_SUFFIX = ".gypi" 26 OTHER_SUFFIX = ".txt" 27 28 class CleanGypdTest(unittest.TestCase): 29 30 def setUp(self): 31 self.__tmp_dir = tempfile.mkdtemp() 32 self.__num_files = 10 33 # Fill the dir with four types of files. .gypd files should be deleted by 34 # clean_gypd_files(), while the rest should be left alone. 35 for i in range(self.__num_files): 36 self.create_file('%s%s' % (str(i), GYPD_SUFFIX)) 37 self.create_file('%s%s' % (str(i), GYPI_SUFFIX)) 38 self.create_file('%s%s' % (str(i), GYP_SUFFIX)) 39 self.create_file('%s%s' % (str(i), OTHER_SUFFIX)) 40 41 def create_file(self, basename): 42 """Create a file named 'basename' in self.__tmp_dir. 43 """ 44 f = tempfile.mkstemp(dir=self.__tmp_dir) 45 os.rename(f[1], os.path.join(self.__tmp_dir, basename)) 46 self.assert_file_exists(basename) 47 48 def assert_file_exists(self, basename): 49 """Assert that 'basename' exists in self.__tmp_dir. 50 """ 51 full_name = os.path.join(self.__tmp_dir, basename) 52 self.assertTrue(os.path.exists(full_name)) 53 54 def assert_file_does_not_exist(self, basename): 55 """Assert that 'basename' does not exist in self.__tmp_dir. 56 """ 57 full_name = os.path.join(self.__tmp_dir, basename) 58 self.assertFalse(os.path.exists(full_name)) 59 60 def test_clean(self): 61 """Test that clean_gypd_files() deletes .gypd files, and leaves others. 62 """ 63 gyp_gen.android_framework_gyp.clean_gypd_files(self.__tmp_dir) 64 for i in range(self.__num_files): 65 self.assert_file_exists('%s%s' % (str(i), GYPI_SUFFIX)) 66 self.assert_file_exists('%s%s' % (str(i), GYP_SUFFIX)) 67 self.assert_file_exists('%s%s' % (str(i), OTHER_SUFFIX)) 68 # Only the GYPD files should have been deleted. 69 self.assert_file_does_not_exist('%s%s' % (str(i), GYPD_SUFFIX)) 70 71 def tearDown(self): 72 shutil.rmtree(self.__tmp_dir) 73 74 75 def main(): 76 loader = unittest.TestLoader() 77 suite = loader.loadTestsFromTestCase(CleanGypdTest) 78 unittest.TextTestRunner(verbosity=2).run(suite) 79 80 if __name__ == "__main__": 81 main() 82