Exemplo n.º 1
0
    def test_copies_boot_image_files_from_tarball(self):
        prefix = factory.make_name()
        kernel_content = factory.getRandomString()
        initrd_content = factory.getRandomString()
        img_content = factory.getRandomString()
        tarball = factory.make_tarball(self.make_dir(), {
            '%s-vmlinuz.gz' % prefix: kernel_content,
            '%s-initrd.gz' % prefix: initrd_content,
            '%s.img' % prefix: img_content,
            })
        target_dir = self.make_dir()
        self.patch(ephemerals_script, 'call_uec2roottar')

        extract_image_tarball(tarball, target_dir)

        self.assertItemsEqual(
            ['linux', 'initrd.gz', 'disk.img'],
            listdir(target_dir))
        self.assertThat(
            os.path.join(target_dir, 'linux'),
            FileContains(kernel_content))
        self.assertThat(
            os.path.join(target_dir, 'initrd.gz'),
            FileContains(initrd_content))
        self.assertThat(
            os.path.join(target_dir, 'disk.img'),
            FileContains(img_content))
Exemplo n.º 2
0
    def test_make_tarball_makes_up_content_if_None(self):
        filename = factory.make_name()
        tarball = factory.make_tarball(self.make_dir(), {filename: None})

        dest = self.make_dir()
        subprocess.check_call(["tar", "-xzf", tarball, "-C", dest])
        self.assertThat(os.path.join(dest, filename), FileExists())
        with open(os.path.join(dest, filename), "rb") as unpacked_file:
            contents = unpacked_file.read()
        self.assertGreater(len(contents), 0)
Exemplo n.º 3
0
    def test_make_tarball_writes_tarball(self):
        filename = factory.make_name()
        contents = {filename: factory.make_string().encode("ascii")}

        tarball = factory.make_tarball(self.make_dir(), contents)

        dest = self.make_dir()
        subprocess.check_call(["tar", "-xzf", tarball, "-C", dest])
        self.assertThat(os.path.join(dest, filename),
                        FileContains(contents[filename]))
Exemplo n.º 4
0
    def test_make_tarball_writes_tarball(self):
        filename = factory.make_name()
        contents = {filename: factory.getRandomString()}

        tarball = factory.make_tarball(self.make_dir(), contents)

        dest = self.make_dir()
        subprocess.check_call(['tar', '-xzf', tarball, '-C', dest])
        self.assertThat(os.path.join(dest, filename),
                        FileContains(contents[filename]))
Exemplo n.º 5
0
    def test_make_tarball_makes_up_content_if_None(self):
        filename = factory.make_name()
        tarball = factory.make_tarball(self.make_dir(), {filename: None})

        dest = self.make_dir()
        subprocess.check_call(['tar', '-xzf', tarball, '-C', dest])
        self.assertThat(os.path.join(dest, filename), FileExists())
        with open(os.path.join(dest, filename), 'rb') as unpacked_file:
            contents = unpacked_file.read()
        self.assertGreater(len(contents), 0)
Exemplo n.º 6
0
    def test_make_tarball_writes_tarball(self):
        filename = factory.make_name()
        contents = {filename: factory.getRandomString()}

        tarball = factory.make_tarball(self.make_dir(), contents)

        dest = self.make_dir()
        subprocess.check_call(['tar', '-xzf', tarball, '-C', dest])
        self.assertThat(
            os.path.join(dest, filename),
            FileContains(contents[filename]))
Exemplo n.º 7
0
    def test_ignores_extraneous_files_in_tarball(self):
        prefix = factory.make_name()
        tarball = factory.make_tarball(self.make_dir(), {
            '%s-vmlinuz.gz' % prefix: None,
            '%s-initrd.gz' % prefix: None,
            '%s.img' % prefix: None,
            'HELLO.TXT': None,
            })
        target_dir = self.make_dir()
        self.patch(ephemerals_script, 'call_uec2roottar')

        extract_image_tarball(tarball, target_dir)

        self.assertItemsEqual(
            ['linux', 'initrd.gz', 'disk.img'],
            listdir(target_dir))
Exemplo n.º 8
0
    def test_ignores_extraneous_files_in_tarball(self):
        prefix = factory.make_name()
        tarball = factory.make_tarball(
            self.make_dir(), {
                '%s-vmlinuz.gz' % prefix: None,
                '%s-initrd.gz' % prefix: None,
                '%s.img' % prefix: None,
                'HELLO.TXT': None,
            })
        target_dir = self.make_dir()
        self.patch(ephemerals_script, 'call_uec2roottar')

        extract_image_tarball(tarball, target_dir)

        self.assertItemsEqual(['linux', 'initrd.gz', 'disk.img'],
                              listdir(target_dir))
Exemplo n.º 9
0
    def test_copies_boot_image_files_from_tarball(self):
        prefix = factory.make_name()
        kernel_content = factory.getRandomString()
        initrd_content = factory.getRandomString()
        img_content = factory.getRandomString()
        tarball = factory.make_tarball(
            self.make_dir(), {
                '%s-vmlinuz.gz' % prefix: kernel_content,
                '%s-initrd.gz' % prefix: initrd_content,
                '%s.img' % prefix: img_content,
            })
        target_dir = self.make_dir()
        self.patch(ephemerals_script, 'call_uec2roottar')

        extract_image_tarball(tarball, target_dir)

        self.assertItemsEqual(['linux', 'initrd.gz', 'disk.img'],
                              listdir(target_dir))
        self.assertThat(os.path.join(target_dir, 'linux'),
                        FileContains(kernel_content))
        self.assertThat(os.path.join(target_dir, 'initrd.gz'),
                        FileContains(initrd_content))
        self.assertThat(os.path.join(target_dir, 'disk.img'),
                        FileContains(img_content))