def test_file_dependencies(self): """ Test that cubesphere.blend, dolphin.blend and cube_anim.blend are file dependencies. """ parser = Parser() parser.parse_makefile(self.makefile) cubesphere_task = parser.get_task('cubesphere.blend') dolphin_task = parser.get_task('dolphin.blend') cube_anim_task = parser.get_task('cube_anim.blend') self.assertTrue(cubesphere_task.is_file_dependency()) self.assertTrue(dolphin_task.is_file_dependency()) self.assertTrue(cube_anim_task.is_file_dependency())
def test_all_targets(self): """ Test that list.txt is the default target. """ parser = Parser() parser.parse_makefile(self.makefile) task = parser.get_task('') self.assertTrue(task.target == 'list.txt') self.assertEquals(len(task.dependencies), 20)
def test_premier_dependency(self): """ Test that premier.c is a dependency for premier and is a file.""" parser = Parser() parser.parse_makefile(self.makefile) task = parser.get_task('premier') self.assertEquals('premier.c', task.dependencies[0].target) self.assertTrue(task.dependencies[0].is_file_dependency())
def test_premier_valid_command(self): """ Test that the command in the premier target is valid.""" parser = Parser() parser.parse_makefile(self.makefile) task = parser.get_task('premier') self.assertEquals('gcc premier.c -o premier -lm', task.command)
def test_lists_are_valid_target(self): """ Test that list[1..20].txt are valid targets.""" parser = Parser() parser.parse_makefile(self.makefile) for i in range(1, 21): task = parser.get_task('list{}.txt'.format(i)) self.assertTrue(task.dependencies[0].target == 'premier') self.assertTrue(task.command.startswith('./premier'))
def test_cub_anim_target(self): """ Test that cube_anim.blend is a valid target, is not a file dependency and check its command.""" parser = Parser() parser.parse_makefile(self.makefile) cube_anim_task = parser.get_task('cube_anim.blend') self.assertFalse(cube_anim_task.is_file_dependency()) self.assertEquals(cube_anim_task.command, 'rm cube_anim.blend ; unzip cube_anim.zip')
def test_cube_anim_are_target(self): """ Test that cube_anim_[0-9]+.tga are target with expected command and dependency.""" parser = Parser() parser.parse_makefile(self.makefile) for i in range(1, 61): f_task = parser.get_task('cube_anim_{}.tga'.format(i)) self.assertTrue(f_task.command.startswith('blender')) self.assertEquals(len(f_task.dependencies), 1) self.assertEquals(f_task.dependencies[0].target, 'cube_anim.blend')
def test_other_target_are_frame(self): """ Test that all frame_[0-9]+.png are all targets, have cube_anim.blend as dependency and their command starts with blender.""" parser = Parser() parser.parse_makefile(self.makefile) for i in range(1, 114): frame_task = parser.get_task('frame_{}.png'.format(i)) self.assertEquals(frame_task.dependencies[0].target, 'cube_anim.blend') self.assertTrue(frame_task.command.startswith('blender'))
def test_f_are_target(self): """" Test that f_[0-9]+\.jpg have the expected command and dependencies.""" parser = Parser() parser.parse_makefile(self.makefile) for i in range(1, 163): f_task = parser.get_task('f_{}.jpg'.format(i)) self.assertTrue(f_task.command.startswith('convert') or f_task.command.startswith('composite')) dep_name = f_task.dependencies[0].target self.assertTrue(dep_name.startswith('cubesphere') or dep_name.startswith('dolphin') or dep_name.startswith('cube_anim'))
def test_out_is_target(self): """ Test that out.avi is valid target in the makefile with the expected command and dependencies.""" parser = Parser() parser.parse_makefile(self.makefile) out_task = parser.get_task('out.avi') command = out_task.command dependency_names = [dep.target for dep in out_task.dependencies] self.assertEquals(command, 'ffmpeg -i \"f_%d.jpg\" out.avi') self.assertEquals(len(dependency_names), 162) self.assertTrue(all((lambda dep_name: re.match('f_[0-9]+\.jpg', dep_name)) \ (curr_dep) for curr_dep in dependency_names))
def test_cube_is_target(self): """ Test that cube.mpg is valid target in the makefile with the expected command and dependencies.""" parser = Parser() parser.parse_makefile(self.makefile) cube_task = parser.get_task('') command_parts = cube_task.command.split() dependency_names = [dep.target for dep in cube_task.dependencies] self.assertEquals(len(command_parts), 115) self.assertTrue(all((lambda part: part == 'convert' or part == 'cube.mpg' or re.match('frame_[0-9]+\.png', part)) \ (curr_part) for curr_part in command_parts)) self.assertEquals(len(dependency_names), 113) self.assertTrue(all((lambda name: re.match('frame_[0-9]+\.png', name) \ (curr_name) for curr_name in dependency_names)))
def test_premier_is_target(self): """ Test that premier is a valid target in the makefile.""" parser = Parser() parser.parse_makefile(self.makefile) task = parser.get_task('premier') self.assertIsNotNone(task)