aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Redkozubov <georgy.redkozubov@linaro.org>2013-01-29 20:08:02 +0400
committerGeorgy Redkozubov <georgy.redkozubov@linaro.org>2013-01-29 20:08:02 +0400
commit5989c933485546e86f01ff4c15cb8c2fb455882d (patch)
tree5804991eaca788fe84f8765bb4410e33ebf2a55b
parent0312047d4712e1b5adae855f95b3c21f8403ed22 (diff)
Added check for BUILD-INFO.txt before publishing artifacts
-rwxr-xr-xscripts/publish_to_snapshots.py12
-rw-r--r--tests/test_publish_to_snapshots.py31
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))