예제 #1
0
파일: models.py 프로젝트: pragacz/oioioi
submission_statuses.register('CE', _("Compilation failed"))
submission_statuses.register('RE', _("Runtime error"))
submission_statuses.register('WA', _("Wrong answer"))
submission_statuses.register('TLE', _("Time limit exceeded"))
submission_statuses.register('MLE', _("Memory limit exceeded"))
submission_statuses.register('OLE', _("Output limit exceeded"))
submission_statuses.register('SE', _("System error"))
submission_statuses.register('RV', _("Rule violation"))

submission_statuses.register('INI_OK', _("Initial tests: OK"))
submission_statuses.register('INI_ERR', _("Initial tests: failed"))

submission_kinds.register('USER_OUTS', _("Generate user out"))

submission_report_kinds.register('INITIAL', _("Initial report"))
submission_report_kinds.register('NORMAL', _("Normal report"))
submission_report_kinds.register('FULL', _("Full report"))
submission_report_kinds.register('HIDDEN',
                                 _("Hidden report (for admins only)"))
submission_report_kinds.register('USER_OUTS', _("Report with user out"))


class CompilationReport(models.Model):
    submission_report = models.ForeignKey(SubmissionReport,
                                          on_delete=models.CASCADE)
    status = EnumField(submission_statuses)
    compiler_output = models.TextField()


def make_output_filename(instance, filename):
예제 #2
0
from nose.tools import nottest
from django.conf import settings
from django.db import models
from oioioi.contests.models import submission_kinds, SubmissionReport, \
    submission_statuses, submission_report_kinds
from django.utils.translation import ugettext_lazy as _
from oioioi.programs.models import ProgramSubmission
from oioioi.filetracker.fields import FileField
from oioioi.base.fields import EnumField
from oioioi.problems.models import Problem, ProblemInstance

submission_statuses.register('TESTRUN_OK', _("No error"))
submission_kinds.register('TESTRUN', _("Test run"))
submission_report_kinds.register('TESTRUN', _("Test run report"))


@nottest
class TestRunConfig(models.Model):
    """Represents a test run config for problem.

       Test run for program is enabled iff this model exits.
    """
    problem = models.OneToOneField(Problem,
                        verbose_name=_("problem"),
                        related_name='test_run_config')

    time_limit = models.IntegerField(verbose_name=_("time limit (ms)"),
            null=True, blank=True)
    memory_limit = models.IntegerField(verbose_name=_("memory limit (KiB)"),
            null=True, blank=True)
예제 #3
0
    model_solution = models.ForeignKey(ModelSolution)


submission_statuses.register('CE', _("Compilation failed"))
submission_statuses.register('RE', _("Runtime error"))
submission_statuses.register('WA', _("Wrong answer"))
submission_statuses.register('TLE', _("Time limit exceeded"))
submission_statuses.register('MLE', _("Memory limit exceeded"))
submission_statuses.register('OLE', _("Output limit exceeded"))
submission_statuses.register('SE', _("System error"))
submission_statuses.register('RV', _("Rule violation"))

submission_statuses.register('INI_OK', _("Initial tests: OK"))
submission_statuses.register('INI_ERR', _("Initial tests: failed"))

submission_report_kinds.register('INITIAL', _("Initial report"))
submission_report_kinds.register('NORMAL', _("Normal report"))
submission_report_kinds.register('HIDDEN',
                                 _("Hidden report (for admins only)"))


class CompilationReport(models.Model):
    submission_report = models.ForeignKey(SubmissionReport)
    status = EnumField(submission_statuses)
    compiler_output = models.TextField()


class TestReport(models.Model):
    submission_report = models.ForeignKey(SubmissionReport)
    status = EnumField(submission_statuses)
    comment = models.CharField(max_length=255, blank=True)
예제 #4
0
from django.conf import settings
from django.db import models
from django.utils.translation import ugettext_lazy as _

from oioioi.base.fields import EnumField
from oioioi.contests.models import (SubmissionReport, submission_kinds,
                                    submission_report_kinds,
                                    submission_statuses)
from oioioi.filetracker.fields import FileField
from oioioi.problems.models import Problem, ProblemInstance
from oioioi.programs.models import ProgramSubmission

submission_statuses.register('TESTRUN_OK', _("No error"))
submission_kinds.register('TESTRUN', _("Test run"))
submission_report_kinds.register('TESTRUN', _("Test run report"))


class TestRunConfig(models.Model):
    """Represents a test run config for problem.

       Test run for program is enabled iff this model exits.
    """
    __test__ = False
    problem = models.OneToOneField(Problem,
                                   verbose_name=_("problem"),
                                   related_name='test_run_config',
                                   on_delete=models.CASCADE)

    time_limit = models.IntegerField(verbose_name=_("time limit (ms)"),
            null=True, blank=True)
    memory_limit = models.IntegerField(verbose_name=_("memory limit (KiB)"),
예제 #5
0
파일: models.py 프로젝트: mahrud/oioioi
class ProgramSubmission(Submission):
    source_file = FileField(upload_to=make_submission_filename)

class ModelProgramSubmission(ProgramSubmission):
    model_solution = models.ForeignKey(ModelSolution)

submission_statuses.register('CE', _("Compilation failed"))
submission_statuses.register('RE', _("Runtime error"))
submission_statuses.register('WA', _("Wrong answer"))
submission_statuses.register('TLE', _("Time limit exceeded"))
submission_statuses.register('MLE', _("Memory limit exceeded"))
submission_statuses.register('SE', _("System error"))
submission_statuses.register('SV', _("Security violation"))

submission_report_kinds.register('INITIAL', _("Initial report"))
submission_report_kinds.register('HIDDEN', _("Hidden report (for admins only)"))

class CompilationReport(models.Model):
    submission_report = models.ForeignKey(SubmissionReport)
    status = EnumField(submission_statuses)
    compiler_output = models.TextField()

class TestReport(models.Model):
    submission_report = models.ForeignKey(SubmissionReport)
    status = EnumField(submission_statuses)
    comment = models.CharField(max_length=255, blank=True)
    score = ScoreField(blank=True)
    time_used = models.IntegerField(blank=True)

    test = models.ForeignKey(Test, blank=True, null=True,
예제 #6
0
submission_statuses.register('CE', _("Compilation failed"))
submission_statuses.register('RE', _("Runtime error"))
submission_statuses.register('WA', _("Wrong answer"))
submission_statuses.register('TLE', _("Time limit exceeded"))
submission_statuses.register('MLE', _("Memory limit exceeded"))
submission_statuses.register('OLE', _("Output limit exceeded"))
submission_statuses.register('SE', _("System error"))
submission_statuses.register('RV', _("Rule violation"))

submission_statuses.register('INI_OK', _("Initial tests: OK"))
submission_statuses.register('INI_ERR', _("Initial tests: failed"))

submission_kinds.register('USER_OUTS', _("Generate user out"))

submission_report_kinds.register('INITIAL', _("Initial report"))
submission_report_kinds.register('NORMAL', _("Normal report"))
submission_report_kinds.register('FULL', _("Full report"))
submission_report_kinds.register('HIDDEN',
                                 _("Hidden report (for admins only)"))
submission_report_kinds.register('USER_OUTS', _("Report with user out"))


class CompilationReport(models.Model):
    submission_report = models.ForeignKey(SubmissionReport,
                                          on_delete=models.CASCADE)
    status = EnumField(submission_statuses)
    compiler_output = models.TextField()


def make_output_filename(instance, filename):