diff options
author | James Tunnicliffe <james.tunnicliffe@linaro.org> | 2012-07-23 16:28:30 +0100 |
---|---|---|
committer | James Tunnicliffe <james.tunnicliffe@linaro.org> | 2012-07-23 16:28:30 +0100 |
commit | 2945867f8de7bf35aab632b1dd82e8851a54a7a3 (patch) | |
tree | c4a5c5ed3fb552cc4f2f3f403c103f6fe823268d | |
parent | 1693cc57d8f182e952b5c00a41446c53764c5e14 (diff) |
Updated media create tests to cope with changes from last checkin.
-rwxr-xr-x | linaro-hwpack-install | 8 | ||||
-rw-r--r-- | linaro_image_tools/hwpack/builder.py | 2 | ||||
-rw-r--r-- | linaro_image_tools/media_create/boards.py | 1 | ||||
-rw-r--r-- | linaro_image_tools/media_create/tests/test_media_create.py | 69 |
4 files changed, 66 insertions, 14 deletions
diff --git a/linaro-hwpack-install b/linaro-hwpack-install index 494c130..6e885dc 100755 --- a/linaro-hwpack-install +++ b/linaro-hwpack-install @@ -53,12 +53,15 @@ die() { exit 1 } -usage_msg="Usage: $(basename $0) [--install-latest] [--force-yes] HWPACK_TARBALL" +usage_msg="Usage: $(basename $0) [--install-latest] [--force-yes] --hwpack-version <version> --hwpack-arch <architecture> --hwpack-name <name> HWPACK_TARBALL" if [ $# -eq 0 ]; then die $usage_msg fi HWPACK_TARBALL_FOUND="no" +HWPACK_VERSION="" +HWPACK_ARCH="" +HWPACK_NAME="" while [ $# -gt 0 ]; do case "$1" in @@ -91,6 +94,9 @@ while [ $# -gt 0 ]; do done [ "$HWPACK_TARBALL_FOUND" = "no" ] && die $usage_msg +[ "$HWPACK_VERSION" = "" ] && die $usage_msg +[ "$HWPACK_ARCH" = "" ] && die $usage_msg +[ "$HWPACK_NAME" = "" ] && die $usage_msg # Try to acquire fd #9 (i.e. /var/lock/hwpack) for 2 seconds. # Using 9 as the file descriptor because of https://launchpad.net/bugs/249620 diff --git a/linaro_image_tools/hwpack/builder.py b/linaro_image_tools/hwpack/builder.py index a22de27..e023249 100644 --- a/linaro_image_tools/hwpack/builder.py +++ b/linaro_image_tools/hwpack/builder.py @@ -120,7 +120,7 @@ class HardwarePackBuilder(object): def find_bootloader_packages(self, bootloaders_config): """Loop through the bootloaders dictionary searching for packages that should be installed, based on known keywords. - + :param bootloaders_config: The bootloaders dictionary to loop through. :return A list of packages, without duplicates.""" boot_packages = [] diff --git a/linaro_image_tools/media_create/boards.py b/linaro_image_tools/media_create/boards.py index dbc5565..63ffaf3 100644 --- a/linaro_image_tools/media_create/boards.py +++ b/linaro_image_tools/media_create/boards.py @@ -169,7 +169,6 @@ class HardwarepackHandler(object): if re.search("=", lines[0]) and not re.search(":", lines[0]): # Probably V2 hardware pack without [hwpack] on the first line lines = ["[hwpack]\n"] + lines - print "".join(lines) parser = Config(StringIO("".join(lines))) try: new_data = parser.get_option(field) diff --git a/linaro_image_tools/media_create/tests/test_media_create.py b/linaro_image_tools/media_create/tests/test_media_create.py index dc9ac4e..cce7a06 100644 --- a/linaro_image_tools/media_create/tests/test_media_create.py +++ b/linaro_image_tools/media_create/tests/test_media_create.py @@ -3224,6 +3224,20 @@ class AtExitRegister(object): class TestInstallHWPack(TestCaseWithFixtures): + def create_minimal_v3_hwpack(self, location, name, version, architecture): + metadata = "\n".join([ + "name: " + name, + "version: " + version, + "architecture: " + architecture, + "format: 3.0" + ]) + print metadata + tar_file = tarfile.open(location, mode='w:gz') + tarinfo = tarfile.TarInfo("metadata") + tarinfo.size = len(metadata) + tar_file.addfile(tarinfo, StringIO(metadata)) + tar_file.close() + def mock_prepare_chroot(self, chroot_dir, tmp_dir): def fake_prepare_chroot(chroot_dir, tmp_dir): cmd_runner.run(['prepare_chroot %s %s' % (chroot_dir, tmp_dir)], @@ -3277,12 +3291,23 @@ class TestInstallHWPack(TestCaseWithFixtures): sys, 'stdout', open('/dev/null', 'w'))) fixture = self.useFixture(MockCmdRunnerPopenFixture()) chroot_dir = 'chroot_dir' + hwpack_dir = tempfile.mkdtemp() + hwpack_file_name = 'hwpack.tgz' + hwpack_tgz_location = os.path.join(hwpack_dir, hwpack_file_name) + hwpack_name = "foo" + hwpack_version = "4" + hwpack_architecture = "armel" + self.create_minimal_v3_hwpack(hwpack_tgz_location, hwpack_name, + hwpack_version, hwpack_architecture) force_yes = False - install_hwpack(chroot_dir, 'hwpack.tgz', force_yes) + install_hwpack(chroot_dir, hwpack_tgz_location, force_yes) self.assertEquals( - ['%s cp hwpack.tgz %s' % (sudo_args, chroot_dir), - '%s %s %s linaro-hwpack-install /hwpack.tgz' - % (sudo_args, chroot_args, chroot_dir)], + ['%s cp %s %s' % (sudo_args, hwpack_tgz_location, chroot_dir), + '%s %s %s linaro-hwpack-install --hwpack-version %s ' + '--hwpack-arch %s --hwpack-name %s /%s' + % (sudo_args, chroot_args, chroot_dir, + hwpack_version, hwpack_architecture, hwpack_name, + hwpack_file_name)], fixture.mock.commands_executed) fixture.mock.calls = [] @@ -3302,9 +3327,23 @@ class TestInstallHWPack(TestCaseWithFixtures): prefer_dir = preferred_tools_dir() + hwpack_dir = tempfile.mkdtemp() + hwpack_file_names = ['hwpack1.tgz', 'hwpack2.tgz'] + hwpack_tgz_locations = [] + hwpack_names = [] + for hwpack_file_name in hwpack_file_names: + hwpack_tgz_location = os.path.join(hwpack_dir, hwpack_file_name) + hwpack_tgz_locations.append(hwpack_tgz_location) + hwpack_names.append(hwpack_file_name) + hwpack_version = "4" + hwpack_architecture = "armel" + self.create_minimal_v3_hwpack( + hwpack_tgz_location, hwpack_file_name, hwpack_version, + hwpack_architecture) + install_hwpacks( - chroot_dir, tmp_dir, prefer_dir, force_yes, [], 'hwpack1.tgz', - 'hwpack2.tgz') + chroot_dir, tmp_dir, prefer_dir, force_yes, [], + hwpack_tgz_locations[0], hwpack_tgz_locations[1]) linaro_hwpack_install = find_command( 'linaro-hwpack-install', prefer_dir=prefer_dir) expected = [ @@ -3312,19 +3351,27 @@ class TestInstallHWPack(TestCaseWithFixtures): 'cp %(linaro_hwpack_install)s %(chroot_dir)s/usr/bin', 'mount proc %(chroot_dir)s/proc -t proc', 'chroot %(chroot_dir)s true', - 'cp hwpack1.tgz %(chroot_dir)s', + 'cp %(hwpack1)s %(chroot_dir)s', ('%(chroot_args)s %(chroot_dir)s linaro-hwpack-install ' - '--force-yes /hwpack1.tgz'), - 'cp hwpack2.tgz %(chroot_dir)s', + '--hwpack-version %(hp_version)s ' + '--hwpack-arch %(hp_arch)s --hwpack-name %(hp_name1)s' + ' --force-yes /hwpack1.tgz'), + 'cp %(hwpack2)s %(chroot_dir)s', ('%(chroot_args)s %(chroot_dir)s linaro-hwpack-install ' - '--force-yes /hwpack2.tgz'), + '--hwpack-version %(hp_version)s ' + '--hwpack-arch %(hp_arch)s --hwpack-name %(hp_name2)s' + ' --force-yes /hwpack2.tgz'), 'rm -f %(chroot_dir)s/hwpack2.tgz', 'rm -f %(chroot_dir)s/hwpack1.tgz', 'umount -v %(chroot_dir)s/proc', 'rm -f %(chroot_dir)s/usr/bin/linaro-hwpack-install'] keywords = dict( chroot_dir=chroot_dir, tmp_dir=tmp_dir, chroot_args=chroot_args, - linaro_hwpack_install=linaro_hwpack_install) + linaro_hwpack_install=linaro_hwpack_install, + hwpack1=hwpack_tgz_locations[0], + hwpack2=hwpack_tgz_locations[1], + hp_version=hwpack_version, hp_name1=hwpack_names[0], + hp_name2=hwpack_names[1], hp_arch=hwpack_architecture) expected = [ "%s %s" % (sudo_args, line % keywords) for line in expected] self.assertEquals(expected, fixture.mock.commands_executed) |