def test_generate(self): '''Test library descriptor generation''' files = [self.tmpfile(f) for f in [Lib('a'), Obj('b'), Lib('c'), Obj('d'), Obj('e'), Lib('f')]] self.touch(files[:-1]) self.touch([files[-1] + config.LIBS_DESC_SUFFIX]) desc = generate(files) self.assertEqual(desc['OBJS'], [self.tmpfile(Obj(s)) for s in ['b', 'd', 'e']]) self.assertEqual(desc['LIBS'], [self.tmpfile(Lib(s)) for s in ['a', 'c', 'f']])
def test_generate(self): """Test library descriptor generation""" files = [self.tmpfile(f) for f in [Lib("a"), Obj("b"), Lib("c"), Obj("d"), Obj("e"), Lib("f")]] self.touch(files[:-1]) self.touch([files[-1] + config.LIBS_DESC_SUFFIX]) desc = generate(files) self.assertEqual(desc["OBJS"], [self.tmpfile(Obj(s)) for s in ["b", "d", "e"]]) self.assertEqual(desc["LIBS"], [self.tmpfile(Lib(s)) for s in ["a", "c", "f"]]) self.assertRaises(Exception, generate, files + [self.tmpfile(Obj("z"))]) self.assertRaises(Exception, generate, files + [self.tmpfile(Lib("y"))])
def init(self): ''' Initializes test environment for library expansion tests''' super(TestExpandInit, self).init() # Create 2 fake libraries, each containing 3 objects, and the second # including the first one and another library. os.mkdir(self.tmpfile('libx')) os.mkdir(self.tmpfile('liby')) self.libx_files = [self.tmpfile('libx', Obj(f)) for f in ['g', 'h', 'i']] self.liby_files = [self.tmpfile('liby', Obj(f)) for f in ['j', 'k', 'l']] + [self.tmpfile('liby', Lib('z'))] self.touch(self.libx_files + self.liby_files) with open(self.tmpfile('libx', Lib('x') + config.LIBS_DESC_SUFFIX), 'w') as f: f.write(str(generate(self.libx_files))) with open(self.tmpfile('liby', Lib('y') + config.LIBS_DESC_SUFFIX), 'w') as f: f.write(str(generate(self.liby_files + [self.tmpfile('libx', Lib('x'))]))) # Create various objects and libraries self.arg_files = [self.tmpfile(f) for f in [Lib('a'), Obj('b'), Obj('c'), Lib('d'), Obj('e')]] # We always give library names (LIB_PREFIX/SUFFIX), even for # dynamic/import libraries self.files = self.arg_files + [self.tmpfile(ImportLib('f'))] self.arg_files += [self.tmpfile(Lib('f'))] self.touch(self.files)
def init(self): """ Initializes test environment for library expansion tests""" super(TestExpandInit, self).init() # Create 2 fake libraries, each containing 3 objects, and the second # including the first one and another library. os.mkdir(self.tmpfile("libx")) os.mkdir(self.tmpfile("liby")) self.libx_files = [self.tmpfile("libx", Obj(f)) for f in ["g", "h", "i"]] self.liby_files = [self.tmpfile("liby", Obj(f)) for f in ["j", "k", "l"]] + [self.tmpfile("liby", Lib("z"))] self.touch(self.libx_files + self.liby_files) with open(self.tmpfile("libx", Lib("x") + config.LIBS_DESC_SUFFIX), "w") as f: f.write(str(generate(self.libx_files))) with open(self.tmpfile("liby", Lib("y") + config.LIBS_DESC_SUFFIX), "w") as f: f.write(str(generate(self.liby_files + [self.tmpfile("libx", Lib("x"))]))) # Create various objects and libraries self.arg_files = [self.tmpfile(f) for f in [Lib("a"), Obj("b"), Obj("c"), Lib("d"), Obj("e")]] # We always give library names (LIB_PREFIX/SUFFIX), even for # dynamic/import libraries self.files = self.arg_files + [self.tmpfile(ImportLib("f"))] self.arg_files += [self.tmpfile(Lib("f"))] self.touch(self.files)