def test_hello_lab(self): """compile, link, and run lab program""" # check that the named file is present file_name = self.labenv['pgm'] + '.asm' self.assertTrue(file_exists(file_name)) # compile the code out, err = runner(self.labenv['compile']) self.assertTrue(err == '', "Compile failed: %s" % err) # check that we have an object file obj_name = self.labenv['pgm'] + '.o' self.assertTrue(file_exists(obj_name)) # link the code out, err = runner(self.labenv['link']) self.assertTrue(err == '',"Link failed: %s" % err) # check that the executable is there exe_name = self.labenv['root'] \ + self.labenv['pgm'] \ + self.labenv['ext'] self.assertTrue(file_exists(exe_name)) # run the program out, err = runner(self.labenv['run']) # check for runtime errors if not err == '': self.fail("Run time error: %s" % err) # test final output if not 'Hello' in out: self.fail("Output does not contain \"Hello\": %s", out)
def test_make_version(self): """test installed version of make""" command = 'make --version' out, err = runner(command) self.assertTrue('3.8' in out)
def test_nasm_version(self): """test installed version of nasm""" command = 'nasm -v' out, err = runner(command) self.assertTrue('2.1' in out)