def setUp(self): super(HwpackReaderTests, self).setUp() self.metadata = ("format: 3.0\nversion: '1'\nname: test-hwpack\n" "architecture: armel\norigin: Linaro") self.hwpack = Hwpack() self.hwpack.setname('test-hwpack') self.tar_dir_fixture = CreateTempDirFixture() self.useFixture(self.tar_dir_fixture) self.tarball_fixture = CreateTarballFixture( self.tar_dir_fixture.get_temp_dir()) self.useFixture(self.tarball_fixture)
def test_preferred_dir(self): tempdir = self.useFixture(CreateTempDirFixture()).get_temp_dir() lmc = 'linaro-media-create' path = os.path.join(tempdir, lmc) open(path, 'w').close() os.chmod(path, stat.S_IXUSR) self.assertEquals(path, find_command(lmc, tempdir))
def test_wrong_input_dir(self): """Pass a directory instead of file.""" temp_file = tempfile.NamedTemporaryFile() temp_dir = self.useFixture(CreateTempDirFixture()).get_temp_dir() self.assertRaises( HwpackConverterException, check_and_validate_args, Args(input_file=temp_file.name, output_file=temp_dir))
def setUp(self): super(TestPathInTarfile, self).setUp() tempdir = self.useFixture(CreateTempDirFixture()).get_temp_dir() self.tarfile_name = os.path.join(tempdir, 'test_tarfile.tar.gz') self.tempfile_added = self.createTempFileAsFixture() self.tempfile_unused = self.createTempFileAsFixture() with tarfile.open(self.tarfile_name, 'w:gz') as tar: tar.add(self.tempfile_added)
class HwpackReaderTests(TestCaseWithFixtures): """Test class for the hwpack reader.""" def setUp(self): super(HwpackReaderTests, self).setUp() self.metadata = ("format: 3.0\nversion: '1'\nname: test-hwpack\n" "architecture: armel\norigin: Linaro") self.hwpack = Hwpack() self.hwpack.setname('test-hwpack') self.tar_dir_fixture = CreateTempDirFixture() self.useFixture(self.tar_dir_fixture) self.tarball_fixture = CreateTarballFixture( self.tar_dir_fixture.get_temp_dir()) self.useFixture(self.tarball_fixture) def tearDown(self): super(HwpackReaderTests, self).tearDown() self.hwpack = None self.metadata = "" def add_to_tarball(self, files, tarball=None): if tarball is None: tarball = self.tarball_fixture.get_tarball() tar_file = tarfile.open(tarball, mode='w:gz') for filename, data in files: tarinfo = tarfile.TarInfo(filename) tarinfo.size = len(data) tar_file.addfile(tarinfo, StringIO(data)) tar_file.close() return tarball def test_hwpack_class(self): hwpack = Hwpack() hwpack.setname('test-hwpack') hwpack.sethwpack('a_hwpack') self.hwpack.sethwpack('a_hwpack') self.assertEqual(self.hwpack, hwpack) def test_hwpack_class_not_equal(self): hwpack = Hwpack() hwpack.setname('test-hwpack') hwpack.sethwpack('a_hwpack') self.hwpack.sethwpack('b_hwpack') self.assertNotEqual(self.hwpack, hwpack) def test_hwpack_metadata_read(self): tarball = self.add_to_tarball([('metadata', self.metadata)]) reader = HwpackReader([tarball]) reader._read_hwpacks_metadata() self.hwpack.sethwpack(tarball) self.assertEqual(self.hwpack, reader.supported_elements[0]) def test_raise_exception(self): new_metadata = ("format=2.0\nversion=4") tarball = self.add_to_tarball([('metadata', new_metadata)]) reader = HwpackReader([tarball]) self.assertRaises(HwpackReaderError, reader._read_hwpacks_metadata) def test_hwpack_metadata_read_with_boards(self): self.metadata += "\nboards:\n panda:\n support: supported\n" tarball = self.add_to_tarball([('metadata', self.metadata)]) reader = HwpackReader([tarball]) reader._read_hwpacks_metadata() self.hwpack.sethwpack(tarball) self.hwpack.setboards({'panda': {'support': 'supported'}}) self.assertEqual(self.hwpack, reader.supported_elements[0]) def test_hwpack_metadata_read_with_bootloaders(self): self.metadata += ("\nboards:\n panda:\n support: supported\n " "bootloaders:\n u_boot:\n file: a_file\n") tarball = self.add_to_tarball([('metadata', self.metadata)]) reader = HwpackReader([tarball]) reader._read_hwpacks_metadata() self.hwpack.sethwpack(tarball) self.hwpack.setboards({ 'panda': { 'support': 'supported', 'bootloaders': { 'u_boot': { 'file': 'a_file' } } } }) self.assertEqual(self.hwpack, reader.supported_elements[0])
class HwpackReaderTests(TestCaseWithFixtures): """Test class for the hwpack reader.""" def setUp(self): super(HwpackReaderTests, self).setUp() self.metadata = ("format: 3.0\nversion: '1'\nname: test-hwpack\n" "architecture: armel\norigin: Linaro") self.hwpack = Hwpack() self.hwpack.setname('test-hwpack') self.tar_dir_fixture = CreateTempDirFixture() self.useFixture(self.tar_dir_fixture) self.tarball_fixture = CreateTarballFixture( self.tar_dir_fixture.get_temp_dir()) self.useFixture(self.tarball_fixture) def tearDown(self): super(HwpackReaderTests, self).tearDown() self.hwpack = None self.metadata = "" def add_to_tarball(self, files, tarball=None): if tarball is None: tarball = self.tarball_fixture.get_tarball() tar_file = tarfile.open(tarball, mode='w:gz') for filename, data in files: tarinfo = tarfile.TarInfo(filename) tarinfo.size = len(data) tar_file.addfile(tarinfo, StringIO(data)) tar_file.close() return tarball def test_hwpack_class(self): hwpack = Hwpack() hwpack.setname('test-hwpack') hwpack.sethwpack('a_hwpack') self.hwpack.sethwpack('a_hwpack') self.assertEqual(self.hwpack, hwpack) def test_hwpack_class_not_equal(self): hwpack = Hwpack() hwpack.setname('test-hwpack') hwpack.sethwpack('a_hwpack') self.hwpack.sethwpack('b_hwpack') self.assertNotEqual(self.hwpack, hwpack) def test_hwpack_metadata_read(self): tarball = self.add_to_tarball([('metadata', self.metadata)]) reader = HwpackReader([tarball]) reader._read_hwpacks_metadata() self.hwpack.sethwpack(tarball) self.assertEqual(self.hwpack, reader.supported_elements[0]) def test_raise_exception(self): new_metadata = ("format=2.0\nversion=4") tarball = self.add_to_tarball([('metadata', new_metadata)]) reader = HwpackReader([tarball]) self.assertRaises(HwpackReaderError, reader._read_hwpacks_metadata) def test_hwpack_metadata_read_with_boards(self): self.metadata += "\nboards:\n panda:\n support: supported\n" tarball = self.add_to_tarball([('metadata', self.metadata)]) reader = HwpackReader([tarball]) reader._read_hwpacks_metadata() self.hwpack.sethwpack(tarball) self.hwpack.setboards({'panda': {'support': 'supported'}}) self.assertEqual(self.hwpack, reader.supported_elements[0]) def test_hwpack_metadata_read_with_bootloaders(self): self.metadata += ("\nboards:\n panda:\n support: supported\n " "bootloaders:\n u_boot:\n file: a_file\n") tarball = self.add_to_tarball([('metadata', self.metadata)]) reader = HwpackReader([tarball]) reader._read_hwpacks_metadata() self.hwpack.sethwpack(tarball) self.hwpack.setboards({'panda': {'support': 'supported', 'bootloaders': {'u_boot': {'file': 'a_file'}}}}) self.assertEqual(self.hwpack, reader.supported_elements[0])