Ejemplo n.º 1
0
    def test_TLE(self):
        tle_code = """
#include<stdio.h>
int main() {
    int a, b;
    scanf("%d%d",&a,&b);
    while(1) {a+=b;}
    printf("%d",a+b);
    return 0;
}
"""
        submitted_executor = get_executor(self.submission_lang, tle_code,
                                          f'{self.submission_dir}/submitted')
        result = do_judge(
            {
                "submit_id": 1,
                "problem_id": 1,
                "time_limit": 1111,
                "memory_limit": 262144,
                "checker_type": "icmp",
            }, self.submission_dir, submitted_executor)

        self.assertEqual(result["verdict"],
                         VerdictResult.TLE,
                         msg=result['desc'])
Ejemplo n.º 2
0
    def test_TLE(self):
        tle_code = """
import java.util.Scanner;
import java.util.*;
public class Solution {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt();
        ArrayList<Integer> arr = new ArrayList<Integer>();
        int t = 20000000;
        for (int i = 0; i < t; ++i) {
            arr.add(1);
            arr.remove(arr.size() - 1);
        }
        System.out.println(a+b);
    }
}
"""
        submitted_executor = get_executor(self.submission_lang, tle_code, f'{self.submission_dir}/submitted')
        result = do_judge({
            "submit_id": 1,
            "problem_id": 1,
            "time_limit": 100,
            "memory_limit": 262144,
            "checker_type": "icmp",
        }, self.submission_dir, submitted_executor)
        self.assertEqual(result['verdict'], VerdictResult.TLE, msg=result['desc'])
Ejemplo n.º 3
0
    def test_MLE(self):
        mle_code = """
            #include <stdio.h>
            int f**k[3500000];
            int dick[3500000];
            int main() {
                int a, b;
                scanf("%d%d",&a,&b);
                for(int i = 0;i < 3500000;i++)
                { f**k[i] = i;
                dick[i] = i;}
                printf("%d",f**k[1]+dick[1]);
                return 0;
            }
"""
        submitted_executor = get_executor(self.submission_lang, mle_code,
                                          f'{self.submission_dir}/submitted')
        result = do_judge(
            {
                "submit_id": 1,
                "problem_id": 1,
                "time_limit": 10011,
                "memory_limit": 28072,
                "checker_type": "icmp",
            }, self.submission_dir, submitted_executor)

        self.assertEqual(result["verdict"],
                         VerdictResult.MLE,
                         msg=f"{result}\n{result['desc']}")
Ejemplo n.º 4
0
    def test_OLE(self):
        ole_code = f"""
                    #include <stdio.h>
                    int main() {{
                        int a, b;
                        scanf("%d%d",&a,&b);
                        for(int i = 0;i < 729145;i++)
                            printf("%s","{'A' * 100}");
                            
                        return 0;
                    }}
"""
        submitted_executor = get_executor(self.submission_lang, ole_code,
                                          f'{self.submission_dir}/submitted')
        result = do_judge(
            {
                "submit_id": 1,
                "problem_id": 1,
                "time_limit": 22222,
                "memory_limit": 262144,
                "checker_type": "icmp",
            }, self.submission_dir, submitted_executor)

        self.assertEqual(result["verdict"],
                         VerdictResult.OLE,
                         msg=result['desc'])
Ejemplo n.º 5
0
    def test_MLE(self):
        mle_code = """
            #include <iostream>
            int f**k[3000000];
            int dick[3000000];
            using namespace std;
            int main() {
                int a, b;
                cin >> a >> b;
                for(int i = 0;i < 3000000;i++)
                { f**k[i] = i;
                dick[i] = i;}
                cout << a + b << endl;
                return 0;
            }
"""
        submitted_executor = get_executor(self.submission_lang, mle_code,
                                          f'{self.submission_dir}/submitted')
        result = do_judge(
            {
                "submit_id": 1,
                "problem_id": 1,
                "time_limit": 10011,
                "memory_limit": 26072,
                "checker_type": "icmp",
            }, self.submission_dir, submitted_executor)

        self.assertEqual(result["verdict"],
                         VerdictResult.MLE,
                         msg=result['desc'])
Ejemplo n.º 6
0
    def test_TLE(self):
        tle_code = """
            #include <iostream>
            using namespace std;
            int main() {
                int a, b;
                cin >> a >> b;
                while(true){
                    a += b;
                }
                cout << a + b << endl;
                return 0;
            }
"""
        submitted_executor = get_executor(self.submission_lang, tle_code,
                                          f'{self.submission_dir}/submitted')
        result = do_judge(
            {
                "submit_id": 1,
                "problem_id": 1,
                "time_limit": 1111,
                "memory_limit": 262144,
                "checker_type": "icmp",
            }, self.submission_dir, submitted_executor)

        self.assertEqual(result["verdict"],
                         VerdictResult.TLE,
                         msg=result['desc'])
Ejemplo n.º 7
0
    def test_WA(self):
        wa_code = """
            #include <iostream>
            using namespace std;
            int main() {
                int a, b;
                cin >> a >> b;
                cout << a + b + 2 << endl;
                return 0;
            }
"""
        submitted_executor = get_executor("GXX", wa_code,
                                          f'{self.submission_dir}/submitted')
        result = do_judge(
            {
                "submit_id": 1,
                "problem_id": 1,
                "time_limit": 1000,
                "memory_limit": 262144,
                "checker_type": "icmp",
            }, self.submission_dir, submitted_executor)

        self.assertEqual(result['verdict'],
                         VerdictResult.WA,
                         msg=result['desc'])
Ejemplo n.º 8
0
    def test_SJ(self):
        sj_code = """
#include "testlib.h"
#include <stdio.h>

int main(int argc, char * argv[])
{
    setName("compare two signed int%d's", 8 * int(sizeof(int)));
    registerTestlibCmd(argc, argv);
    
    int ja = ans.readInt();
    int pa = ouf.readInt();
    
    if (ja != pa)
        quitf(_wa, "expected %d, found %d", ja, pa);
    
    quitf(_ok, "answer is %d", ja);
}
"""
        ac_code = """
                #include <iostream>
                using namespace std;
                int main() {
                    int a, b;
                    cin >> a >> b;
                    cout << a + b<< endl;
                    return 0;
                }
        """

        sj_name = 'test_checker'
        log_file_path = f'{conf.LOG_DIR}/sj_{sj_name}.log'

        result = create_special_judge(sj_code, sj_name, log_file_path)
        self.assertEqual(result['result'],
                         VerdictResult.AC,
                         msg=result['desc'])

        submitted_executor = get_executor("GXX", ac_code,
                                          f'{self.submission_dir}/submitted')
        result = do_judge(
            {
                "submit_id": 1,
                "problem_id": 1,
                "time_limit": 1000,
                "memory_limit": 262144,
                "checker_type": sj_name,
            }, self.submission_dir, submitted_executor)
        self.assertEqual(result['verdict'],
                         VerdictResult.AC,
                         msg=result['desc'])
Ejemplo n.º 9
0
    def test_AC(self):
        ac_code = """
a = input().split()
print(int(a[0]) + int(a[1]))
"""
        submitted_executor = get_executor(self.submission_lang, ac_code, f'{self.submission_dir}/submitted')
        result = do_judge({
            "submit_id": 1,
            "problem_id": 1,
            "time_limit": 1000,
            "memory_limit": 262144,
            "checker_type": "icmp",
        }, self.submission_dir, submitted_executor)
        self.assertEqual(result['verdict'], VerdictResult.AC, msg=result['desc'])
Ejemplo n.º 10
0
    def test_OLE(self):
        ole_code = f"""
a = input().split()
for i in range(0, 729145):
    print("{'A' * 100}")
"""
        submitted_executor = get_executor(self.submission_lang, ole_code, f'{self.submission_dir}/submitted')
        result = do_judge({
            "submit_id": 1,
            "problem_id": 1,
            "time_limit": 22222,
            "memory_limit": 262144,
            "checker_type": "icmp",
        }, self.submission_dir, submitted_executor)

        self.assertEqual(result['verdict'], VerdictResult.OLE, msg=result['desc'])
Ejemplo n.º 11
0
    def test_WA(self):
        wa_code = """
        import java.util.Scanner;
        public class Solution {
            public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                int a=sc.nextInt(),b=sc.nextInt();
                System.out.println(a+b+1);
            }
        }
"""
        submitted_executor = get_executor(self.submission_lang, wa_code, f'{self.submission_dir}/submitted')
        result = do_judge({
            "submit_id": 1,
            "problem_id": 1,
            "time_limit": 5000,
            "memory_limit": 262144,
            "checker_type": "icmp",
        }, self.submission_dir, submitted_executor)
        self.assertEqual(result['verdict'], VerdictResult.WA, msg=result['desc'])
Ejemplo n.º 12
0
    def test_OLE(self):
        ole_code = f"""
                       import java.util.Scanner;
                       public class Solution {{
                           public static void main(String[] args) {{
                               Scanner sc=new Scanner(System.in);
                               int a=sc.nextInt(),b=sc.nextInt();
                               int t = 729145;
                               for (int i = 0; i < t; ++i) {{
                                 System.out.println("{'A' * 100}");
                               }}

                           }}
                       }}
"""
        submitted_executor = get_executor(self.submission_lang, ole_code, f'{self.submission_dir}/submitted')
        result = do_judge({
            "submit_id": 1,
            "problem_id": 1,
            "time_limit": 22222,
            "memory_limit": 262144,
            "checker_type": "icmp",
        }, self.submission_dir, submitted_executor)
        self.assertEqual(result['verdict'], VerdictResult.OLE, msg=result['desc'])
Ejemplo n.º 13
0
    def test_WA(self):
        wa_code = """
           #include<stdio.h>
int main() {
    int a, b;
    scanf("%d%d",&a,&b);
    printf("%d",a+b+1);
    return 0;
}
"""
        submitted_executor = get_executor(self.submission_lang, wa_code,
                                          f'{self.submission_dir}/submitted')
        result = do_judge(
            {
                "submit_id": 1,
                "problem_id": 1,
                "time_limit": 1000,
                "memory_limit": 262144,
                "checker_type": "icmp",
            }, self.submission_dir, submitted_executor)

        self.assertEqual(result['verdict'],
                         VerdictResult.WA,
                         msg=result['desc'])