aboutsummaryrefslogtreecommitdiff
path: root/tests/runner.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/runner.py')
-rwxr-xr-xtests/runner.py48
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