Index: base/android/jni_generator/jni_generator_tests.py |
diff --git a/base/android/jni_generator/jni_generator_tests.py b/base/android/jni_generator/jni_generator_tests.py |
index 76b8c32e4db40542deebea3669b19f5a1bba414b..9e73bd9e62134293fc0e4f0ed8c4c7320ab4e480 100755 |
--- a/base/android/jni_generator/jni_generator_tests.py |
+++ b/base/android/jni_generator/jni_generator_tests.py |
@@ -22,6 +22,9 @@ from jni_generator import CalledByNative, JniParams, NativeMethod, Param |
SCRIPT_NAME = 'base/android/jni_generator/jni_generator.py' |
+# Set this environment variable in order to regenerate the golden text |
+# files. |
+REBASELINE_ENV = 'REBASELINE' |
class TestOptions(object): |
"""The mock options object which is passed to the jni_generator.py script.""" |
@@ -83,16 +86,26 @@ class TestGenerator(unittest.TestCase): |
def assertGoldenTextEquals(self, generated_text): |
script_dir = os.path.dirname(sys.argv[0]) |
+ # This is the caller test method. |
caller = inspect.stack()[1][3] |
+ self.assertTrue(caller.startswith('test'), |
+ 'assertGoldenTextEquals can only be called from a ' |
+ 'test* method, not %s' % caller) |
golden_file = os.path.join(script_dir, caller + '.golden') |
golden_text = self._ReadGoldenFile(golden_file) |
- if os.environ.get('REBASELINE'): |
+ if os.environ.get(REBASELINE_ENV): |
if golden_text != generated_text: |
with file(golden_file, 'w') as f: |
f.write(generated_text) |
return |
self.assertTextEquals(golden_text, generated_text) |
+ def testInspectCaller(self): |
+ def willRaise(): |
+ # This function can only be called from a test* method. |
+ self.assertGoldenTextEquals('') |
+ self.assertRaises(AssertionError, willRaise) |
+ |
def testNatives(self): |
test_data = """" |
interface OnFrameAvailableListener {} |