Index: buildbot/manifest_version_unittest.py |
diff --git a/buildbot/manifest_version_unittest.py b/buildbot/manifest_version_unittest.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..156d02d2f1b3d7faab9b0e1c5b45cc64ce71030c |
--- /dev/null |
+++ b/buildbot/manifest_version_unittest.py |
@@ -0,0 +1,105 @@ |
+#!/usr/bin/python |
+ |
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+"""Unittests for manifest_version. Needs to be run inside of chroot for mox.""" |
+ |
+import __builtin__ |
+import mox |
+import os |
+import shutil |
+import sys |
+import unittest |
+ |
+import chromite.buildbot.manifest_version as manifest_version |
+import chromite.lib.cros_build_lib as cros_lib |
+ |
+class ManifestVersionTest(mox.MoxTestBase): |
+ |
+ def setUp(self): |
+ mox.MoxTestBase.setUp(self) |
+ |
+ self.tmp_dir = '/foo' |
+ self.source_repo = 'ssh://source/repo' |
+ self.manifest_repo = 'ssh://manifest/repo' |
+ self.board = 'board-name' |
+ self.build_version='build-version' |
+ self.version_file='version-file.sh' |
+ |
+ self.working_dir = os.path.join(self.tmp_dir, 'working') |
+ self.ver_manifests = os.path.basename(self.manifest_repo) |
+ self.ver_manifests_dir = os.path.join(self.working_dir, 'repo') |
+ |
+ def testUpdateStatusSuccess(self): |
+ """Test if we can archive the latest results dir to Google Storage.""" |
+ #$TOOLS/mvp.py --build-name=$BOARD --status=pass \ |
+ # --build-version=$RELEASETAG |
+ |
+ |
+ self.mox.StubOutWithMock(cros_lib, 'RunCommand') |
+ self.mox.StubOutWithMock(os.path, 'exists') |
+ self.mox.StubOutWithMock(manifest_version, 'SetStatus') |
+ |
+ os.path.exists(self.ver_manifests_dir).AndReturn(True) |
+ |
+ cros_lib.RunCommand(['git', 'checkout', 'master'], |
+ cwd=self.ver_manifests_dir) |
+ |
+ manifest_version.SetStatus(self.build_version, |
+ 'pass', |
+ self.working_dir, |
+ self.ver_manifests, |
+ self.board, |
+ True) |
+ |
+ self.mox.ReplayAll() |
+ |
+ manifest_version.UpdateStatus(tmp_dir=self.tmp_dir, |
+ manifest_repo=self.manifest_repo, |
+ board=self.board, |
+ build_version=self.build_version, |
+ success=True, |
+ dry_run=True, |
+ retries=0) |
+ |
+ self.mox.VerifyAll() |
+ |
+ def testUpdateStatusFailure(self): |
+ """Test if we can archive the latest results dir to Google Storage.""" |
+ #$TOOLS/mvp.py --build-name=$BOARD --status=pass \ |
+ # --build-version=$RELEASETAG |
+ |
+ |
+ self.mox.StubOutWithMock(cros_lib, 'RunCommand') |
+ self.mox.StubOutWithMock(os.path, 'exists') |
+ self.mox.StubOutWithMock(manifest_version, 'SetStatus') |
+ |
+ os.path.exists(self.ver_manifests_dir).AndReturn(True) |
+ |
+ cros_lib.RunCommand(['git', 'checkout', 'master'], |
+ cwd=self.ver_manifests_dir) |
+ |
+ manifest_version.SetStatus(self.build_version, |
+ 'fail', |
+ self.working_dir, |
+ self.ver_manifests, |
+ self.board, |
+ True) |
+ |
+ self.mox.ReplayAll() |
+ |
+ manifest_version.UpdateStatus(tmp_dir=self.tmp_dir, |
+ manifest_repo=self.manifest_repo, |
+ board=self.board, |
+ build_version=self.build_version, |
+ success=False, |
+ dry_run=True, |
+ retries=0) |
+ |
+ self.mox.VerifyAll() |
+ |
+ |
+if __name__ == '__main__': |
+ unittest.main() |