Ejemplo n.º 1
0
 def get_verdicts(self, lang, source_code, tests):
     with self.lock:
         compile_error = self._prepare(lang, source_code)
         if compile_error != None:
             return 'CE', compile_error
         verdicts = dict()
         for test in tests:
             verdicts[test] = self._get_verdict(lang,
                                                read_file(test + '.in'),
                                                read_file(test + '.out'))
         return verdicts
Ejemplo n.º 2
0
    def _get_output_and_verdict(self, lang, test_path):
        test_input = read_file(test_path + '.in')
        write_file(box_path() + '/in', test_input)
        output, error = lang.run()
        meta = parse_meta(read_file('meta'))
        if 'status' in meta:
            return meta['status'], error, test_input

        test_output = read_file(test_path + '.out')
        v = 'OK' if output == test_output else 'WA'
        return v, output, test_input
Ejemplo n.º 3
0
    def _get_output(self, lang, test_input):
        write_file(box_path() + '/in', test_input)
        output, error = lang.run()
        meta = parse_meta(read_file('meta'))
        if 'status' in meta:
            return meta['status'], error, test_input

        return 'OK', output, test_input
Ejemplo n.º 4
0
 def test_java_wa(self):
     self.assertTrue(
         self._all(LANGS['java'], read_file(f'{TEST_DIR}/sols/wa.java'),
                   self.all_tests, 'WA'))
Ejemplo n.º 5
0
 def test_javascript_to(self):
     self.assertTrue(
         self._all(LANGS['javascript'], read_file(f'{TEST_DIR}/sols/to.js'),
                   self.all_tests, 'TO'))
Ejemplo n.º 6
0
 def test_python_to(self):
     self.assertTrue(
         self._all(LANGS['python'], read_file(f'{TEST_DIR}/sols/to.py'),
                   self.all_tests, 'TO'))
Ejemplo n.º 7
0
 def test_java_re(self):
     self.assertTrue(
         self._all(LANGS['java'], read_file(f'{TEST_DIR}/sols/re.java'),
                   self.all_tests, 'RE'))
Ejemplo n.º 8
0
 def test_python_ok(self):
     self.assertTrue(
         self._all(LANGS['python'], read_file(f'{TEST_DIR}/sols/ok.py'),
                   self.all_tests, 'OK'))
Ejemplo n.º 9
0
 def test_java_ok(self):
     self.assertTrue(
         self._all(LANGS['java'], read_file(f'{TEST_DIR}/sols/ok.java'),
                   self.all_tests, 'OK'))
Ejemplo n.º 10
0
 def test_javascript_ce(self):
     self.assertTrue(
         self._ce(LANGS['javascript'], read_file(f'{TEST_DIR}/sols/ce.js')))
Ejemplo n.º 11
0
 def test_python_ce(self):
     self.assertTrue(
         self._ce(LANGS['python'], read_file(f'{TEST_DIR}/sols/ce.py')))
Ejemplo n.º 12
0
 def test_lodash(self):
     self.assertTrue(
         self._all(LANGS['javascript'],
                   read_file(f'{TEST_DIR}/sols/lodash.js'), self.all_tests,
                   'WA'))
Ejemplo n.º 13
0
 def test_forkbomb(self):
     self.assertTrue(
         self._all(LANGS['python'],
                   read_file(f'{TEST_DIR}/sols/forkbomb.py'),
                   self.all_tests, 'RE'))
Ejemplo n.º 14
0
 def test_apache_commons(self):
     self.assertTrue(
         self._all(LANGS['java'],
                   read_file(f'{TEST_DIR}/sols/apache_commons.java'),
                   self.all_tests, 'WA'))
Ejemplo n.º 15
0
 def test_python_wa(self):
     self.assertTrue(
         self._all(LANGS['python'], read_file(f'{TEST_DIR}/sols/wa.py'),
                   self.all_tests, 'WA'))