Index: cros_mark_as_stable_unittest.py |
diff --git a/cros_mark_as_stable_unittest.py b/cros_mark_as_stable_unittest.py |
index ce5152f5b5fefe8579f9a85b318fa30f46f1e552..5520b1f140fcb7a205568ef7b8cf2368e97cdd65 100755 |
--- a/cros_mark_as_stable_unittest.py |
+++ b/cros_mark_as_stable_unittest.py |
@@ -157,6 +157,7 @@ class EBuildStableMarkerTest(mox.MoxTestBase): |
def testRevEBuild(self): |
self.mox.StubOutWithMock(cros_mark_as_stable.fileinput, 'input') |
+ self.mox.StubOutWithMock(cros_mark_as_stable.os.path, 'exists') |
self.mox.StubOutWithMock(cros_mark_as_stable.shutil, 'copyfile') |
m_file = self.mox.CreateMock(file) |
@@ -165,9 +166,39 @@ class EBuildStableMarkerTest(mox.MoxTestBase): |
mock_file = ['EAPI=2', 'CROS_WORKON_COMMIT=old_id', |
'KEYWORDS=\"~x86 ~arm\"', 'src_unpack(){}'] |
- cros_mark_as_stable.shutil.copyfile( |
- self.m_ebuild.ebuild_path_no_version + '-9999.ebuild', |
- self.revved_ebuild_path) |
+ ebuild_9999 = self.m_ebuild.ebuild_path_no_version + '-9999.ebuild' |
+ cros_mark_as_stable.os.path.exists(ebuild_9999).AndReturn(True) |
+ cros_mark_as_stable.shutil.copyfile(ebuild_9999, self.revved_ebuild_path) |
+ cros_mark_as_stable.fileinput.input(self.revved_ebuild_path, |
+ inplace=1).AndReturn(mock_file) |
+ m_file.write('EAPI=2') |
+ m_file.write('CROS_WORKON_COMMIT="my_id"\n') |
+ m_file.write('KEYWORDS="x86 arm"') |
+ m_file.write('src_unpack(){}') |
+ cros_mark_as_stable._SimpleRunCommand('git add ' + self.revved_ebuild_path) |
+ cros_mark_as_stable._SimpleRunCommand('git rm ' + self.m_ebuild.ebuild_path) |
+ |
+ self.mox.ReplayAll() |
+ marker = cros_mark_as_stable.EBuildStableMarker(self.m_ebuild) |
+ marker.RevEBuild('my_id', redirect_file=m_file) |
+ self.mox.VerifyAll() |
+ |
+ def testRevMissingEBuild(self): |
+ self.mox.StubOutWithMock(cros_mark_as_stable.fileinput, 'input') |
+ self.mox.StubOutWithMock(cros_mark_as_stable.os.path, 'exists') |
+ self.mox.StubOutWithMock(cros_mark_as_stable.shutil, 'copyfile') |
+ self.mox.StubOutWithMock(cros_mark_as_stable, 'Die') |
+ m_file = self.mox.CreateMock(file) |
+ |
+ # Prepare mock fileinput. This tests to make sure both the commit id |
+ # and keywords are changed correctly. |
+ mock_file = ['EAPI=2', 'CROS_WORKON_COMMIT=old_id', |
+ 'KEYWORDS=\"~x86 ~arm\"', 'src_unpack(){}'] |
+ |
+ ebuild_9999 = self.m_ebuild.ebuild_path_no_version + '-9999.ebuild' |
+ cros_mark_as_stable.os.path.exists(ebuild_9999).AndReturn(False) |
+ cros_mark_as_stable.Die("Missing 9999 ebuild: %s" % ebuild_9999) |
+ cros_mark_as_stable.shutil.copyfile(ebuild_9999, self.revved_ebuild_path) |
cros_mark_as_stable.fileinput.input(self.revved_ebuild_path, |
inplace=1).AndReturn(mock_file) |
m_file.write('EAPI=2') |
@@ -200,6 +231,51 @@ class EBuildStableMarkerTest(mox.MoxTestBase): |
#self.mox.VerifyAll() |
pass |
+class BuildEBuildDictionaryTest(mox.MoxTestBase): |
+ |
+ def setUp(self): |
+ mox.MoxTestBase.setUp(self) |
+ self.mox.StubOutWithMock(cros_mark_as_stable, '_SimpleRunCommand') |
+ self.ebuild_path = '/path/test_package-0.0.1-r1.ebuild' |
+ self.package = "test_package" |
+ |
+ def testValidPackage(self): |
+ overlays = {"/path": []} |
+ cmd = ('ACCEPT_KEYWORDS="x86 arm amd64" ' |
+ 'equery-x86-generic which %s 2> /dev/null' % self.package) |
+ cros_mark_as_stable._SimpleRunCommand(cmd).AndReturn(self.ebuild_path) |
+ self.mox.ReplayAll() |
+ cros_mark_as_stable._BuildEBuildDictionary(overlays, [self.package], []) |
+ self.assertEquals(len(overlays), 1) |
+ self.assertEquals(overlays["/path"][0].package, self.package) |
+ self.mox.VerifyAll() |
+ |
+ def testPackageInDifferentOverlay(self): |
+ self.mox.StubOutWithMock(cros_mark_as_stable, 'Die') |
+ cros_mark_as_stable.Die("No overlay found for %s" % self.ebuild_path) |
+ cmd = ('ACCEPT_KEYWORDS="x86 arm amd64" ' |
+ 'equery-x86-generic which %s 2> /dev/null' % self.package) |
+ cros_mark_as_stable._SimpleRunCommand(cmd).AndReturn(self.ebuild_path) |
+ overlays = {"/newpath": []} |
+ self.mox.ReplayAll() |
+ cros_mark_as_stable._BuildEBuildDictionary(overlays, [self.package], []) |
+ self.assertEquals(len(overlays), 1) |
+ self.assertEquals(overlays["/newpath"], []) |
+ self.mox.VerifyAll() |
+ |
+ def testMissingPackage(self): |
+ self.mox.StubOutWithMock(cros_mark_as_stable, 'Die') |
+ cros_mark_as_stable.Die("No ebuild found for %s" % self.package) |
+ cmd = ('ACCEPT_KEYWORDS="x86 arm amd64" ' |
+ 'equery-x86-generic which %s 2> /dev/null' % self.package) |
+ cros_mark_as_stable._SimpleRunCommand(cmd).AndReturn("") |
+ self.mox.ReplayAll() |
+ overlays = {"/path": []} |
+ cros_mark_as_stable._BuildEBuildDictionary(overlays, [self.package], []) |
+ self.assertEquals(len(overlays), 1) |
+ self.assertEquals(overlays["/path"], []) |
+ self.mox.VerifyAll() |
+ |
if __name__ == '__main__': |
unittest.main() |