diff options
Diffstat (limited to 'tests/runner.py')
-rwxr-xr-x | tests/runner.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/runner.py b/tests/runner.py index 62600830..b6980933 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -4168,6 +4168,35 @@ The current type of b is: 9 ''' self.do_run(src, 'memmove can be very very useful') + def test_memmove2(self): + if Settings.USE_TYPED_ARRAYS != 2: return self.skip('need ta2') + + src = r''' + #include <stdio.h> + #include <string.h> + #include <assert.h> + int main() { + int sum = 0; + char buffer[256]; + for (int i = 0; i < 10; i++) { + for (int j = 0; j < 10; j++) { + for (int k = 0; k < 35; k++) { + for (int t = 0; t < 256; t++) buffer[t] = t; + char *dest = buffer + i; + char *src = buffer + j; + if (dest == src) continue; + //printf("%d, %d, %d\n", i, j, k); + assert(memmove(dest, src, k) == dest); + for (int t = 0; t < 256; t++) sum += buffer[t]; + } + } + } + printf("final: %d.\n", sum); + return 1; + } + ''' + self.do_run(src, 'final: -403200.'); + def test_bsearch(self): if Settings.QUANTUM_SIZE == 1: return self.skip('Test cannot work with q1') |