Ejemplo n.º 1
0
    def test_without_optimization_fact(self):
        stdout, stderr, rc = test(_compiler('''
        int fact(int n) {
          if n <= 1
            return 1;

          return n * fact(n - 1);
        };

        fact(50000) >>;
        '''))

        self.assertEqual(1, rc)
        self.assertRegex(stderr, 'Exception in thread "main" java.lang.StackOverflowError')
Ejemplo n.º 2
0
    def test_without_optimization(self):
        stdout, stderr, rc = test(_compiler('''
        void f(int n) {
          if n > 50000 return;

          f(n + 1);
          pass
        };

        f(0);
        '''))

        self.assertEqual(1, rc)
        self.assertRegex(stderr, 'Exception in thread "main" java.lang.StackOverflowError')
Ejemplo n.º 3
0
 def base(self, src, expected_output):
     stdout, stderr, rc = test(_compiler(src))
     self.assertEqual(0, rc, "expect zero return code")
     self.assertEqual('', stderr, 'Expect empty stderr')
     self.assertEqual(expected_output, stdout)