Hi Till,
I've tried to run acceptance test for avm2:
"js build/ts/shell.js -s -x test/avm2/acceptance.json"
I have 2 questions:
1. Does that approach covers all acceptance tests for AVM2, may be can you propose other way to test correctness of AVM2 or are there different/additional to test it
2. Some test were failed:
========================================================================
getproperty of null ref FAILED! expected: VerifyError should have been thrown, actual: 11
STRICTEQ: call length via restArgcHelper FAILED! expected: number[3], actual: undefined[undefined]
new Date(-8633982067200000) PASSED!
Date(1969,11,31,16,0,0,0) FAILED! expected: true got: false
.....
Date(2031,11,31,16,0,0,0) FAILED! expected: true got: false
new Date( 1969,11,31,15,59,59,999).getTime() PASSED!
Date.parse( + givenDate + ).toLocaleString()) FAILED! expected: 951782400000 got: 1020297600000
Date.parse( + givenDate + ).toLocaleString()) FAILED! expected: 951782399000 got: 1017791999000
Date.parse( + givenDate + ).toLocaleString()) FAILED! expected: 951782400000 got: 1020297600000
Date.parse( + givenDate + ).toLocaleString()) PASSED!
Date.parse( + givenDate + ).toLocaleString()) FAILED! expected: 1104537599000 got: 1152748799000
Date.parse( + givenDate + ).toLocaleString()) PASSED!
delete( int.MIN_VALUE ) FAILED! expected: false got: true
delete( int.MIN_VALUE ); int.MIN_VALUE FAILED! expected: -
2147483648 got: undefined
int.MAX_VALUE + 1 = -
2147483648 FAILED! expected: -
2147483648 got: 0
int.MAX_VALUE + 1 = -
2147483648 FAILED! expected: -
2147483648 got: 1
increment int at int.MAX_VALUE FAILED! expected: -
2147483648 got: 1
int.MIN_VALUE - 1 =
2147483647 FAILED! expected:
2147483647 got: 0
int.MIN_VALUE - 1 =
2147483647 FAILED! expected:
2147483647 got: -1
decrement int at int.MIN_VALUE FAILED! expected:
2147483647 got: -1
int.MAX_VALUE * 2 = -2 FAILED! expected: -2 got: 0
int.MAX_VALUE << 1 FAILED! expected: -2 got: 0
....
========================================================================
Some failures probably follows from the obsolete test assumptions that do not match current JS implementation. But may be I'm wrong, what is your opinion ? Are all acceptance tests passing on your system ?