def test_output_filenames(self): result = self.make_correct_result() expected_stdout_name = os.path.join( core_ut.get_result_output_dir( result.ag_test_case_result.ag_test_suite_result.submission), 'cmd_result_' + str(result.pk) + '_stdout') self.assertEqual(expected_stdout_name, result.stdout_filename) expected_stderr_name = os.path.join( core_ut.get_result_output_dir( result.ag_test_case_result.ag_test_suite_result.submission), 'cmd_result_' + str(result.pk) + '_stderr') self.assertEqual(expected_stderr_name, result.stderr_filename)
def test_output_filenames(self): expected_setup_stdout_filename = os.path.join( core_ut.get_result_output_dir( self.ag_test_suite_result.submission), 'suite_result_' + str(self.ag_test_suite_result.pk) + '_setup_stdout') self.assertEqual(expected_setup_stdout_filename, self.ag_test_suite_result.setup_stdout_filename) expected_setup_stderr_filename = os.path.join( core_ut.get_result_output_dir( self.ag_test_suite_result.submission), 'suite_result_' + str(self.ag_test_suite_result.pk) + '_setup_stderr') self.assertEqual(expected_setup_stderr_filename, self.ag_test_suite_result.setup_stderr_filename)
def save(self, *args, **kwargs): super().save(*args, **kwargs) # result_output_dir is a subdir of the submission dir result_output_dir = core_ut.get_result_output_dir(self) if not os.path.isdir(result_output_dir): os.makedirs(result_output_dir, exist_ok=True)
def test_output_filenames(self): result = ag_models.StudentTestSuiteResult.objects.validate_and_create( student_test_suite=self.student_suite, submission=self.submission) self.assertEqual( os.path.join(core_ut.get_result_output_dir(self.submission), 'student_suite_result_{}_validity_check_stdout'.format(result.pk)), result.validity_check_stdout_filename) self.assertEqual( os.path.join(core_ut.get_result_output_dir(self.submission), 'student_suite_result_{}_validity_check_stderr'.format(result.pk)), result.validity_check_stderr_filename) self.assertEqual( os.path.join(core_ut.get_result_output_dir(self.submission), 'student_suite_result_{}_grade_buggy_impls_stdout'.format(result.pk)), result.grade_buggy_impls_stdout_filename) self.assertEqual( os.path.join(core_ut.get_result_output_dir(self.submission), 'student_suite_result_{}_grade_buggy_impls_stderr'.format(result.pk)), result.grade_buggy_impls_stderr_filename)
def test_get_result_output_dir(self): submission = ag_models.Submission.objects.validate_and_create( group=self.group, submitted_files=[]) submission_dir_basename = 'submission{}'.format(submission.pk) expected_absolute = os.path.join( settings.MEDIA_ROOT, "{0}/{1}/{2}/{3}/{4}/{5}/{6}".format( constants.FILESYSTEM_ROOT_COURSES_DIRNAME, self.course_dirname, self.project_dirname, constants.PROJECT_SUBMISSIONS_DIRNAME, self.group_dir_basename, submission_dir_basename, constants.FILESYSTEM_RESULT_OUTPUT_DIRNAME)) actual_absolute = core_ut.get_result_output_dir(submission) self.assertEqual(expected_absolute, actual_absolute)
def setup_stderr_filename(self): return os.path.join(core_ut.get_result_output_dir(self.submission), 'suite_result_{}_setup_stderr'.format(self.pk))
def grade_buggy_impls_stderr_filename(self): return os.path.join( core_ut.get_result_output_dir(self.submission), 'student_suite_result_{}_grade_buggy_impls_stderr'.format(self.pk))
def validity_check_stderr_filename(self): return os.path.join( core_ut.get_result_output_dir(self.submission), 'student_suite_result_{}_validity_check_stderr'.format(self.pk))
def stderr_filename(self): result_output_dir = core_ut.get_result_output_dir( self.ag_test_case_result.ag_test_suite_result.submission) return os.path.join(result_output_dir, 'cmd_result_{}_stderr'.format(self.pk))