Example #1
0
    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)
Example #2
0
    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)
Example #5
0
    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)
Example #6
0
 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))
Example #9
0
 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))