示例#1
0
    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)
示例#2
0
 def test_make_version(self):
     """test installed version of make"""
     command =  'make --version'
     out, err = runner(command)
     self.assertTrue('3.8' in out)
示例#3
0
 def test_nasm_version(self):
     """test installed version of nasm"""
     command = 'nasm -v'
     out, err  = runner(command)
     self.assertTrue('2.1' in out)