diff options
author | Georgy Redkozubov <georgy.redkozubov@linaro.org> | 2013-01-29 20:08:02 +0400 |
---|---|---|
committer | Georgy Redkozubov <georgy.redkozubov@linaro.org> | 2013-01-29 20:08:02 +0400 |
commit | 5989c933485546e86f01ff4c15cb8c2fb455882d (patch) | |
tree | 5804991eaca788fe84f8765bb4410e33ebf2a55b | |
parent | 0312047d4712e1b5adae855f95b3c21f8403ed22 (diff) |
Added check for BUILD-INFO.txt before publishing artifacts
-rwxr-xr-x | scripts/publish_to_snapshots.py | 12 | ||||
-rw-r--r-- | tests/test_publish_to_snapshots.py | 31 |
2 files changed, 43 insertions, 0 deletions
diff --git a/scripts/publish_to_snapshots.py b/scripts/publish_to_snapshots.py index 5276751..3e0ad53 100755 --- a/scripts/publish_to_snapshots.py +++ b/scripts/publish_to_snapshots.py @@ -15,6 +15,7 @@ staging_target_path = '/srv/staging.snapshots.linaro.org/www/' product_dir_path = 'target/product' PASS = 0 FAIL = 1 +buildinfo = 'BUILD-INFO.txt' acceptable_job_types = [ 'android', 'prebuilt', @@ -367,6 +368,13 @@ class SnapshotsPublisher(object): print "Failed to move files destination path", target_dir_path return FAIL + def check_buildinfo(self, build_dir_path): + buildinfo_path = os.path.join(build_dir_path, buildinfo) + if not os.path.exists(buildinfo_path): + return FAIL + + return PASS + def main(): global uploads_path @@ -387,6 +395,10 @@ def main(): if build_dir_path is None or target_dir_path is None: print "Problem with build/target path, move failed" return FAIL + ret = publisher.check_buildinfo(build_dir_path) + if ret != PASS: + print "BUILD-INFO.txt is not present in artifacts being published" + return FAIL ret = publisher.move_artifacts(args, build_dir_path, target_dir_path) if ret != PASS: print "Move Failed" diff --git a/tests/test_publish_to_snapshots.py b/tests/test_publish_to_snapshots.py index 1cecff0..67e27ec 100644 --- a/tests/test_publish_to_snapshots.py +++ b/tests/test_publish_to_snapshots.py @@ -11,6 +11,9 @@ from scripts.publish_to_snapshots import ( SnapshotsPublisher, setup_parser, product_dir_path, + FAIL, + PASS, + buildinfo ) @@ -726,3 +729,31 @@ class TestSnapshotsPublisher(TestCase): self.assertEqual(content, open(resulting_file).read()) self.assertEqual(howto_content, open(resulting_howto_file).read()) shutil.rmtree(source_dir) + + def test_check_buildinfo(self): + self.publisher = SnapshotsPublisher() + param = self.parser.parse_args( + ['-t', 'prebuilt', '-j', 'precise-armhf-ubuntu-desktop', + '-n', '1']) + self.publisher.validate_args(param) + build_dir = '/'.join([param.job_name, str(param.build_num)]) + build_path = os.path.join(self.uploads_path, build_dir) + os.makedirs(build_path) + + file_name = os.path.join(build_path, buildinfo) + file = open(file_name, "w") + file.close() + + self.assertEqual(PASS, self.publisher.check_buildinfo(build_dir)) + + def test_check_buildinfo_no_file(self): + self.publisher = SnapshotsPublisher() + param = self.parser.parse_args( + ['-t', 'prebuilt', '-j', 'precise-armhf-ubuntu-desktop', + '-n', '1']) + self.publisher.validate_args(param) + build_dir = '/'.join([param.job_name, str(param.build_num)]) + build_path = os.path.join(self.uploads_path, build_dir) + os.makedirs(build_path) + + self.assertEqual(FAIL, self.publisher.check_buildinfo(build_dir)) |