Let the test mapping updater handle newly-added files.
The previous commit to this file allowed it to create and upload a
commit when a TEST_MAPPING file changed. But it did not handle the
case where the TEST_MAPPING file did not previously exist. This fixes
that.
Test: Run script.
Change-Id: Id7b9e778c2b084f7ea2e4005a173c1fedeccd6c7
diff --git a/scripts/update_crate_tests.py b/scripts/update_crate_tests.py
index 1f04c13..3b654fc 100755
--- a/scripts/update_crate_tests.py
+++ b/scripts/update_crate_tests.py
@@ -278,13 +278,17 @@
test_mapping = TestMapping(env, bazel, path)
test_mapping.create()
changed = (subprocess.call(['git', 'diff', '--quiet']) == 1)
- if changed and args.branch_and_commit:
+ untracked = (os.path.isfile('TEST_MAPPING') and
+ (subprocess.run(['git', 'ls-files', '--error-unmatch', 'TEST_MAPPING'],
+ stderr=subprocess.DEVNULL,
+ stdout=subprocess.DEVNULL).returncode == 1))
+ if args.branch_and_commit and (changed or untracked):
subprocess.check_output(['repo', 'start',
'tmp_auto_test_mapping', '.'])
subprocess.check_output(['git', 'add', 'TEST_MAPPING'])
subprocess.check_output(['git', 'commit', '-m',
'Update TEST_MAPPING\n\nTest: None'])
- if changed and args.push_change:
+ if args.push_change and (changed or untracked):
date = datetime.today().strftime('%m-%d')
subprocess.check_output(['git', 'push', 'aosp', 'HEAD:refs/for/master',
'-o', 'topic=test-mapping-%s' % date])