diff options
Diffstat (limited to 'tests/runner.py')
-rwxr-xr-x | tests/runner.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/runner.py b/tests/runner.py index ce19aadb..779e51da 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -950,6 +950,31 @@ m_divisor is 1091269979 ''' self.do_run(src, 'zero 2, 104', ['hallo']) + def test_i16_emcc_intrinsic(self): + Settings.CORRECT_SIGNS = 1 # Relevant to this test + + src = r''' + #include <stdio.h> + + int test(unsigned short a, unsigned short b) { + unsigned short result = a; + result += b; + if (result < b) printf("C!"); + return result; + } + + int main(void) { + printf(",%d,", test(0, 0)); + printf(",%d,", test(1, 1)); + printf(",%d,", test(65535, 1)); + printf(",%d,", test(1, 65535)); + printf(",%d,", test(32768, 32767)); + printf(",%d,", test(32768, 32768)); + return 0; + } + ''' + self.do_run(src, ',0,,2,C!,0,C!,0,,65535,C!,0,') + def test_sha1(self): if self.emcc_args == None: return self.skip('needs ta2') @@ -3683,6 +3708,10 @@ def process(filename): printf("%g\n", strtod("1", &endptr)); printf("%g\n", strtod("1.", &endptr)); printf("%g\n", strtod("1.0", &endptr)); + printf("%g\n", strtod("z1.0", &endptr)); + printf("%g\n", strtod("0.5", &endptr)); + printf("%g\n", strtod(".5", &endptr)); + printf("%g\n", strtod(".a5", &endptr)); printf("%g\n", strtod("123", &endptr)); printf("%g\n", strtod("123.456", &endptr)); printf("%g\n", strtod("-123.456", &endptr)); @@ -3708,6 +3737,10 @@ def process(filename): 1 1 1 + 0 + 0.5 + 0.5 + 0 123 123.456 -123.456 @@ -7609,6 +7642,9 @@ elif 'browser' in str(sys.argv): def test_gc(self): self.btest('browser_gc.cpp', '1') + def test_glshaderinfo(self): + self.btest('glshaderinfo.cpp', '1') + def test_sdlglshader(self): self.btest('sdlglshader.c', reference='sdlglshader.png', args=['--closure', '1']) @@ -7635,6 +7671,18 @@ elif 'browser' in str(sys.argv): def test_cubegeom_normal(self): self.btest('cubegeom_normal.c', expected='752917084') + def test_cubegeom_normal_dap(self): # draw is given a direct pointer to clientside memory, no element array buffer + self.btest('cubegeom_normal_dap.c', expected='752917084') + + def test_cubegeom_normal_dap_far(self): # indices do nto start from 0 + self.btest('cubegeom_normal_dap_far.c', expected='752917084') + + def test_cubegeom_normal_dap_far_range(self): # glDrawRangeElements + self.btest('cubegeom_normal_dap_far_range.c', expected='752917084') + + def test_cubegeom_normal_dap_far_glda(self): # use glDrawArrays + self.btest('cubegeom_normal_dap_far_glda.c', expected='-218745386') + def test_cubegeom_mt(self): self.btest('cubegeom_mt.c', expected='-457159152') # multitexture |