diff options
Diffstat (limited to 'testrunner/tests/android_mk_tests.py')
-rwxr-xr-x | testrunner/tests/android_mk_tests.py | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/testrunner/tests/android_mk_tests.py b/testrunner/tests/android_mk_tests.py new file mode 100755 index 000000000..ff1f2896c --- /dev/null +++ b/testrunner/tests/android_mk_tests.py @@ -0,0 +1,90 @@ +#!/usr/bin/python +# +# +# Copyright 2011, The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys +import unittest +sys.path.append('../..') + +from testrunner import android_mk + + +class AndroidMKTest(unittest.TestCase): + """Unit tests for AndroidMK.""" + + def testHasGTest(self): + """Test for AndroidMK.HasGTest.""" + mk_parser = android_mk.CreateAndroidMK(path='.', + filename='Android_native.mk') + self.assertTrue(mk_parser.HasGTest()) + + def testHasGTest_lib(self): + """Test for AndroidMK.HasGTest.""" + mk_parser = android_mk.CreateAndroidMK(path='.', + filename='Android_gtestlib.mk') + self.assertTrue(mk_parser.HasGTest()) + + def testHasGTest_false(self): + """Negative test for AndroidMK.HasGTest.""" + mk_parser = android_mk.CreateAndroidMK(path='.', filename='Android_java.mk') + self.assertFalse(mk_parser.HasGTest()) + + def testHasJavaLibrary(self): + """Test for AndroidMK.HasJavaLibrary.""" + mk_parser = android_mk.CreateAndroidMK(path='.', + filename='Android_java.mk') + self.assertTrue(mk_parser.HasJavaLibrary('android.test.runner')) + + def testHasJavaLibrary_missing(self): + """Negative test for AndroidMK.HasJavaLibrary. + + Test behavior when LOCAL_JAVA_LIBARIES rule is not present in makefile. + """ + mk_parser = android_mk.CreateAndroidMK(path='.', + filename='Android_native.mk') + self.assertFalse(mk_parser.HasJavaLibrary('android.test.runner')) + + def testHasJavaLibrary_false(self): + """Negative test for AndroidMK.HasJavaLibrary. + + Test behavior when LOCAL_JAVA_LIBARIES rule is present, but does not list + given library. + """ + mk_parser = android_mk.CreateAndroidMK(path='.', filename='Android_java.mk') + self.assertFalse(mk_parser.HasJavaLibrary('doesntexist')) + + def testGetExpandedVariable(self): + """Test for AndroidMK.GetExpandedVariable. + """ + mk_parser = android_mk.CreateAndroidMK(path='.', + filename='Android_native.mk') + self.assertEquals('foo', mk_parser.GetExpandedVariable('LOCAL_MODULE')) + + def testGetExpandedVariable_loop(self): + """Test for AndroidMK.GetExpandedVariable where variable expansion loops + """ + mk_parser = android_mk.CreateAndroidMK(path='.', + filename='Android_native.mk') + try: + mk_parser.GetExpandedVariable('recursive_var') + self.assertTrue(False) + except RuntimeError: + # expected + pass + + +if __name__ == '__main__': + unittest.main() |