@@ -17,22 +17,16 @@ def assertValidAssembly(self, dirname, name):
1717 def runCPUEmulator (self , dirname , name ):
1818 res = subprocess .call (['n2tCPUEmulator' , f'/autograder/source/{ dirname } /{ name } .tst' ])
1919 if res != 0 :
20- diff = subprocess .check_output (['diff ' , f' /autograder/source/{ dirname } /{ name } .out' , f' /autograder/source/{ dirname } /{ name } .cmp' , '-qsw' , '-- strip-trailing-cr' ], stderr = subprocess . STDOUT )
20+ diff = subprocess .check_output (['/bin/sh ' , '-c' , f'diff /autograder/source/{ dirname } /{ name } .cmp /autograder/source/{ dirname } /{ name } .out -- strip-trailing-cr ; exit 0' ] )
2121 print (f'Files differ!\n { diff } ' )
22- raise AssertionError (f'Unable to run student\' s ASM on CPU emulator!' )
23-
24- def assertNoDiff (self , file , expected_file ):
25- res = subprocess .call (['diff' , file , expected_file , '-qsw' , '--strip-trailing-cr' ])
26- if res != 0 :
27- raise AssertionError (f'Output does not match the expected!' )
22+ raise AssertionError (f'Student\' s ASM did not pass the provided TST file!' )
2823
2924 def assertCorrectTranslator (self , dirname ):
3025 _ , name = dirname .split ('/' )
3126 self .runStudentCode (dirname , name )
3227 self .assertValidAssembly (dirname , name )
3328 self .runCPUEmulator (dirname , name )
3429 subprocess .run (['mv' , f'/autograder/source/{ dirname } /{ name } .out' , '/autograder/outputs/' ])
35- self .assertNoDiff (f'/autograder/outputs/{ name } .out' , f'/autograder/grader/tests/expected-outputs/{ dirname } /{ name } .cmp' )
3630
3731class TestModules (TestBase ):
3832 @weight (47.5 / 4 )
0 commit comments