From e609a00ada937fa23d654a07c4020205b24e4da0 Mon Sep 17 00:00:00 2001 From: Mark Seaborn Date: Sun, 2 Nov 2008 16:09:36 +0000 Subject: [PATCH] Extend test to generate the tar file it uses --- tests/testendtoend.py | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/tests/testendtoend.py b/tests/testendtoend.py index a820c90..356b803 100644 --- a/tests/testendtoend.py +++ b/tests/testendtoend.py @@ -10,6 +10,7 @@ from basetest import BaseTest from zeroinstall.injector import autopolicy from zeroinstall.injector import run from zeroinstall.injector.iface_cache import iface_cache +from zeroinstall.zerostore import manifest def write_file(filename, data): @@ -20,7 +21,31 @@ def write_file(filename, data): fh.close() +# Based on code in 0publish/archive.py +def manifest_for_dir(dir): + algorithm = manifest.get_algorithm("sha1new") + digest = algorithm.new_digest() + for line in algorithm.generate_manifest(dir): + digest.update(line + '\n') + return algorithm.getID(digest) + + class TestEndToEnd(BaseTest): + def _make_hello(self): + tar_file = os.path.join(self.make_temp_dir(), "archive.tar.gz") + temp_dir = self.make_temp_dir() + write_file(os.path.join(temp_dir, "hello-test"), """\ +#!/bin/sh +echo Hello World +""") + os.chmod(os.path.join(temp_dir, "hello-test"), 0777) + subprocess.check_call(["tar", "-czf", tar_file, "-C", temp_dir, "."]) + return """ + + + + """ % (manifest_for_dir(temp_dir), tar_file, os.path.getsize(tar_file)) + def test(self): tempdir = self.make_temp_dir() feed_file = os.path.join(tempdir, "foo.xml") @@ -28,14 +53,11 @@ class TestEndToEnd(BaseTest): Test Placeholder - - - - + + %s -""" % {"dir": os.path.abspath(os.path.dirname(__file__))}) +""" % self._make_hello()) policy = autopolicy.AutoPolicy( feed_file, download_only=True, dry_run=False) policy.download_and_execute([]) -- 2.11.4.GIT