From c53060d95ad94fd16530403ab3834771ad51ee46 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Wed, 18 Mar 2015 23:32:21 +0300 Subject: [PATCH] Add system test on package restriction check. #71 --- system/t09_repo/IncludeRepo12Test_gold | 6 +++++ system/t09_repo/include.py | 35 ++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 system/t09_repo/IncludeRepo12Test_gold diff --git a/system/t09_repo/IncludeRepo12Test_gold b/system/t09_repo/IncludeRepo12Test_gold new file mode 100644 index 00000000..da4f78d6 --- /dev/null +++ b/system/t09_repo/IncludeRepo12Test_gold @@ -0,0 +1,6 @@ +Loading repository unstable for changes file hardlink_0.2.1_amd64.changes... +[+] hardlink_0.2.1_source added +[!] hardlink_0.2.1_amd64 has been ignored as it doesn't match restriction +[!] Some files were skipped due to errors: + /01/hardlink_0.2.1_amd64.deb +ERROR: some files failed to be added diff --git a/system/t09_repo/include.py b/system/t09_repo/include.py index 069ef0d5..f5789003 100644 --- a/system/t09_repo/include.py +++ b/system/t09_repo/include.py @@ -312,3 +312,38 @@ class IncludeRepo11Test(BaseTest): super(IncludeRepo11Test, self).check() finally: shutil.rmtree(self.tempSrcDir) + + +class IncludeRepo12Test(BaseTest): + """ + include packages to local repo: unsigned + -accept-unsigned + restriction breakage + """ + fixtureCmds = [ + "aptly repo create unstable", + ] + runCmd = "aptly repo include -accept-unsigned -keyring=${files}/aptly.pub " + outputMatchPrepare = lambda self, s: gpgRemove(self, tempDirRemove(self, s)) + expectedCode = 1 + + def prepare(self): + super(IncludeRepo12Test, self).prepare() + + self.tempSrcDir = tempfile.mkdtemp() + + shutil.copytree(os.path.join(os.path.dirname(inspect.getsourcefile(BaseTest)), "changes"), os.path.join(self.tempSrcDir, "01")) + + with open(os.path.join(self.tempSrcDir, "01", "hardlink_0.2.1_amd64.changes"), "r+") as f: + contents = f.readlines() + contents = contents[3:31] + contents[3] = "Binary: hardlink-dbg\n" + f.seek(0, 0) + f.write("".join(contents)) + f.truncate() + + self.runCmd += self.tempSrcDir + + def check(self): + try: + super(IncludeRepo12Test, self).check() + finally: + shutil.rmtree(self.tempSrcDir)