Enable make run-chakracore

- copied and modified runner scripts from escargot1
 - skipped and tagged as FIXME for the very slow tests (they seem to be stuck in an infinite loop)
This commit is contained in:
Junyoung Cho 2017-02-07 16:50:40 +09:00 committed by Young-il Choi
commit b22a1b9f01
18 changed files with 6122 additions and 5 deletions

2
.gitignore vendored
View file

@ -54,7 +54,7 @@ out
#test/test262/test/config/excludelist.xml
android/obj
android/libs
#test/chakracore/chakracorelog.verbose.txt
tools/vendortest/chakracore/chakracorelog.verbose.txt
*.gen.txt
*.log.txt
bdwgcUsage.dat

@ -1 +1 @@
Subproject commit 97b8255f785cc80d7762b56209e503a750b2dcd6
Subproject commit 18065bd667beba295d773e276bee7951eec16791

View file

@ -79,9 +79,17 @@ run-jetstream:
python parsingResults.py jetstream-result-raw.res;
run-chakracore:
cd test/chakracore/; \
./run.sh ../../escargot $(OPT) | tee chakracorelog.gen.txt; \
diff chakracorelog.orig.txt chakracorelog.gen.txt
cp tools/vendortest/chakracore/chakracore.run.sh test/vendortest/ChakraCore/run.sh
cp tools/vendortest/chakracore/chakracore.include.js test/vendortest/ChakraCore/include.js
cp tools/vendortest/chakracore/chakracore.rlexedirs.xml test/vendortest/ChakraCore/rlexedirs.xml
cp tools/vendortest/chakracore/Array.rlexe.xml test/vendortest/ChakraCore/Array/rlexe.xml
cp tools/vendortest/chakracore/Error.rlexe.xml test/vendortest/ChakraCore/Error/rlexe.xml
cp tools/vendortest/chakracore/Function.rlexe.xml test/vendortest/ChakraCore/Function/rlexe.xml
cp tools/vendortest/chakracore/Miscellaneous.rlexe.xml test/vendortest/ChakraCore/Miscellaneous/rlexe.xml
cp tools/vendortest/chakracore/Strings.rlexe.xml test/vendortest/ChakraCore/Strings/rlexe.xml
cp tools/vendortest/chakracore/es6.rlexe.xml test/vendortest/ChakraCore/es6/rlexe.xml
test/vendortest/ChakraCore/run.sh ./escargot | tee tools/vendortest/chakracore.gen.txt; \
diff tools/vendortest/chakracore.orig.txt tools/vendortest/chakracore.gen.txt
run-v8-donotuse:
cp tools/vendortest/v8/v8.mjsunit.status test/vendortest/v8/test/mjsunit/mjsunit.status

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,731 @@
<?xml version="1.0" encoding="utf-8"?>
<regress-exe>
<test>
<default>
<files>array_fastinit.js</files>
<baseline>array_fastinit.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_init.js</files>
<baseline>array_init.baseline</baseline>
<tags>Slow</tags>
</default>
</test>
<test>
<default>
<compile-flags>-Serialized</compile-flags>
<files>array_init2.js</files>
<baseline>array_init2.baseline</baseline>
<tags>exclude_forceserialized</tags>
</default>
</test>
<test>
<default>
<compile-flags>-args summary -endargs -ForceArrayBTree -recyclerStress</compile-flags>
<files>SpliceBtreeMemoryCorruption.js</files>
<tags>exclude_fre,Slow</tags>
</default>
</test>
<test>
<default>
<compile-flags>-forcearraybtree -off:nativearray -args summary -endargs</compile-flags>
<files>sliceArrayForceBtreeBug616623.js</files>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<compile-flags>-ForceArrayBTree</compile-flags>
<files>bug945376SegLeftPlusSizeGreaterThanMaxArrayLen.js</files>
<tags>BugFix</tags>
</default>
</test>
<test>
<default>
<files>bug1062870.js</files>
<tags>BugFix</tags>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>bug1065362.js</files>
<tags>BugFix</tags>
</default>
</test>
<test>
<default>
<files>bug4916987.js</files>
<compile-flags>-mic:1 -off:simplejit</compile-flags>
<tags>BugFix</tags>
</default>
</test>
<test>
<default>
<files>bug6268659.js</files>
<compile-flags>-mic:1 -off:simplejit</compile-flags>
<tags>BugFix</tags>
</default>
</test>
<test>
<default>
<compile-flags>-ForceArrayBTree</compile-flags>
<files>ArrayBtreeBadCodeGen.js</files>
<baseline>ArrayBtreeBadCodeGen.baseline</baseline>
<tags>BugFix</tags>
</default>
</test>
<test>
<default>
<files>SliceandConcatAlterOriginalArrayBug.js</files>
<compile-flags>-args summary -endargs</compile-flags>
<tags></tags>
</default>
</test>
<test>
<default>
<compile-flags>-ForceArrayBTree -maxinterpretcount:1 -maxsimplejitruncount:2</compile-flags>
<files>rawLastUsedSegmentBugInFloatArray.js</files>
<tags></tags>
</default>
</test>
<test>
<default>
<compile-flags>-maxinterpretcount:1 -maxsimplejitruncount:1 -force:rejit -ForceArrayBTree</compile-flags>
<files>ArrayElementMissingValueSetToZero.js</files>
</default>
</test>
<test>
<default>
<compile-flags> -forcejitloopbody -ForceArrayBTree -off:ArrayCheckHoist</compile-flags>
<files>TryGrowHeadSegmentBug.js</files>
</default>
</test>
<test>
<default>
<files>array_init2.js</files>
<baseline>array_init2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_ctr.js</files>
<baseline>array_ctr.baseline</baseline>
</default>
</test>
<test>
<default>
<compile-flags>-arrayValidate</compile-flags>
<files>array_ctr.js</files>
<baseline>array_ctr.baseline</baseline>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>arr_bailout.js</files>
</default>
</test>
<test>
<default>
<files>concat1.js</files>
<baseline>concat1.baseline</baseline>
</default>
</test>
<test>
<default>
<files>concat2.js</files>
<baseline>concat2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>delete.js</files>
<baseline>delete.baseline</baseline>
</default>
</test>
<test>
<default>
<files>es5array_push.js</files>
<baseline>es5array_push.baseline</baseline>
</default>
</test>
<test>
<default>
<files>ldindex.js</files>
</default>
</test>
<test>
<default>
<files>bug612012.js</files>
<compile-flags>-maxinterpretcount:1 -loopinterpretcount:1 -force:fieldhoist -ForceArrayBTree -oopjit-</compile-flags>
<tags>exclude_ship,exclude_serialized</tags>
</default>
</test>
<test>
<default>
<files>SegmentMapFlagResetInJSArrayConstructor.js</files>
<compile-flags> -maxinterpretcount:1 -maxsimplejitruncount:2 -ForceArrayBTree</compile-flags>
<tags>exclude_ship</tags>
</default>
</test>
<test>
<default>
<files>LastUsedSegmentHasNULLElement.js</files>
<compile-flags> -maxinterpretcount:1 -maxsimplejitruncount:2 -ForceArrayBTree</compile-flags>
<tags>exclude_ship</tags>
</default>
</test>
<test>
<default>
<files>array_length.js</files>
<baseline>array_length.baseline</baseline>
</default>
</test>
<test>
<default>
<files>join2.js</files>
<baseline>join2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>missing.js</files>
<baseline>missing.baseline</baseline>
</default>
</test>
<test>
<default>
<files>pop1.js</files>
<baseline>pop1.baseline</baseline>
</default>
</test>
<test>
<default>
<files>pop2.js</files>
<baseline>pop2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>pop3.js</files>
<baseline>pop3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>push1.js</files>
<baseline>push1_2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>push2.js</files>
<compile-flags>-es6toLength</compile-flags>
<baseline>push2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>push3.js</files>
<compile-flags>-off:nativearray -ForceES5Array</compile-flags>
<baseline>push3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>reverse1.js</files>
<baseline>reverse1.baseline</baseline>
</default>
</test>
<test>
<default>
<files>reverse2.js</files>
<baseline>reverse2.baseline</baseline>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>shift_unshift.js</files>
<baseline>shift_unshift.baseline</baseline>
</default>
</test>
<test>
<default>
<files>toString.js</files>
<baseline>toString.baseline</baseline>
</default>
</test>
<test>
<default>
<files>toString.js</files>
<compile-flags>-ForceES5Array</compile-flags>
<tags>exclude_fre</tags>
<baseline>toString.baseline</baseline>
</default>
</test>
<test>
<default>
<files>toLocaleString.js</files>
<baseline>toLocaleString.baseline</baseline>
</default>
</test>
<test>
<default>
<files>toLocaleString.js</files>
<compile-flags>-ForceES5Array</compile-flags>
<tags>exclude_fre</tags>
<baseline>toLocaleString.baseline</baseline>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>array_slice.js</files>
<baseline>array_slice.baseline</baseline>
<timeout>300</timeout>
</default>
</test>
<test>
<default>
<files>array_slice2.js</files>
<baseline>array_slice2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_sort.js</files>
<baseline>array_sort.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_includes.js</files>
<compile-flags>-args summary -endargs</compile-flags>
</default>
</test>
<test>
<default>
<files>array_sort2.js</files>
<baseline>array_sort2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_sort3.js</files>
<baseline>array_sort3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_sort3.js</files>
<baseline>array_sort3.baseline</baseline>
<compile-flags>-arrayValidate</compile-flags>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>array_splice.js</files>
<baseline>array_splice.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_splice_double.js</files>
<baseline>array_splice_double.baseline</baseline>
</default>
</test>
<test>
<default>
<compile-flags>-arrayValidate</compile-flags>
<files>array_splice.js</files>
<baseline>array_splice.baseline</baseline>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>array_splice1.js</files>
<baseline>array_splice1.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_splice2.js</files>
<baseline>array_splice2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_splice3.js</files>
<baseline>array_splice3_3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_splice4.js</files>
<baseline>array_splice4.baseline</baseline>
</default>
</test>
<test>
<default>
<files>sparsearray.js</files>
<baseline>sparsearray.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_lastindexof.js</files>
<baseline>array_lastindexof.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_indexOf.js</files>
<baseline>array_indexOf.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_indexOf.js</files>
<compile-flags>-ForceArrayBTree</compile-flags>
<baseline>array_indexOf.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_indexOfSparse.js</files>
<baseline>array_indexOfSparse.baseline</baseline>
</default>
</test>
<test>
<default>
<files>negindex.js</files>
<baseline>negindex.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_forin.js</files>
<baseline>array_forin.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_literal.js</files>
<baseline>array_literal.baseline</baseline>
</default>
</test>
<test>
<default>
<compile-flags>-recyclerStress</compile-flags>
<files>array_literal.js</files>
<baseline>array_literal.baseline</baseline>
<tags>exclude_fre,Slow</tags>
</default>
</test>
<test>
<default>
<files>nativearray_gen1.js</files>
<baseline>nativearray_gen1.baseline</baseline>
</default>
</test>
<test>
<default>
<files>nativearray_gen1.js</files>
<compile-flags>-sse:0 -forceserialized</compile-flags>
<baseline>nativearray_gen1.baseline</baseline>
<!-- Exclude the serialized variants because we're using -forceserialized here. -->
<tags>exclude_serialized</tags>
</default>
</test>
<test>
<default>
<files>nativearray_gen2.js</files>
</default>
</test>
<test>
<default>
<files>nativearray_gen3.js</files>
</default>
</test>
<test>
<default>
<files>nativearray_gen4.js</files>
<baseline>nativearray_gen4.baseline</baseline>
</default>
</test>
<test>
<default>
<files>nativearray_gen5.js</files>
</default>
</test>
<test>
<default>
<files>nativearray_gen6.js</files>
<compile-flags>-loopinterpretcount:0</compile-flags>
</default>
</test>
<test>
<default>
<files>nativearray_gen7.js</files>
<baseline>nativearray_gen7.baseline</baseline>
</default>
</test>
<test>
<default>
<files>nativearray_gen8.js</files>
<compile-flags>-force:jitloopbody</compile-flags>
</default>
</test>
<test>
<default>
<files>arrlit.js</files>
<baseline>arrlit.baseline</baseline>
</default>
</test>
<test>
<default>
<files>protoLookup.js</files>
<baseline>protoLookup.baseline</baseline>
</default>
</test>
<test>
<default>
<files>protoLookup_native.js</files>
<baseline>protoLookup_native.baseline</baseline>
</default>
</test>
<test>
<default>
<files>protoLookupWithGetters.js</files>
<baseline>protoLookupWithGetters.baseline</baseline>
</default>
</test>
<test>
<default>
<files>array_apply.js</files>
<baseline>array_apply.baseline</baseline>
</default>
</test>
<test>
<default>
<files>nativeArrayPushInlining.js</files>
<baseline>nativeArrayPushInlining.baseline</baseline>
<compile-flags>-maxinterpretcount:1 -off:arraycheckhoist -off:fixedmethods</compile-flags>
</default>
</test>
<test>
<default>
<files>reverse_native.js</files>
<baseline>reverse_native.baseline</baseline>
</default>
</test>
<test>
<default>
<files>nativeFloatArray_shift_unshift.js</files>
<baseline>nativeFloatArray_shift_unshift.baseline</baseline>
</default>
</test>
<test>
<default>
<files>nativeFloatArray_sort.js</files>
<baseline>nativeFloatArray_sort.baseline</baseline>
</default>
</test>
<test>
<default>
<files>missingItemFastPathCheck.js</files>
<baseline>missingItemFastPathCheck.baseline</baseline>
<compile-flags>-maxinterpretcount:1</compile-flags>
</default>
</test>
<test>
<default>
<files>array_opts.js</files>
<compile-flags>-maxinterpretcount:1</compile-flags>
</default>
</test>
<test>
<default>
<files>nativeIntPop.js</files>
<baseline>nativeIntPop.baseline</baseline>
<compile-flags>-maxinterpretcount:1 -off:fixedmethods -off:Arraycheckhoist</compile-flags>
</default>
</test>
<test>
<default>
<files>nativeFloatPop.js</files>
<baseline>nativeFloatPop.baseline</baseline>
<compile-flags>-maxinterpretcount:1 -off:fixedmethods -off:Arraycheckhoist</compile-flags>
</default>
</test>
<test>
<default>
<files>popImplicitCall.js</files>
<baseline>popImplicitCall.baseline</baseline>
<compile-flags>-maxinterpretcount:1 -off:fixedmethods -off:Arraycheckhoist</compile-flags>
</default>
</test>
<test>
<default>
<files>array_splice_515632.js</files>
<baseline>array_splice_515632.baseline</baseline>
</default>
</test>
<test>
<default>
<files>InlineArrayPopWithIntConstSrc.js</files>
<baseline>InlineArrayPopWithIntConstSrc.baseline</baseline>
<compile-flags>-maxinterpretcount:1 -off:simplejit</compile-flags>
</default>
</test>
<test>
<default>
<files>FailToSetLength.js</files>
<compile-flags>-args summary -endargs</compile-flags>
</default>
</test>
<test>
<default>
<files>foreach_nativearray_change.js</files>
<baseline>foreach_nativearray_change.baseline</baseline>
</default>
</test>
<test>
<default>
<files>newfromargs.js</files>
<baseline>newfromargs.baseline</baseline>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<compile-flags>-ForceArrayBTree</compile-flags>
<files>bug945376SizeBoundStartSeg.js</files>
<tags>BugFix</tags>
</default>
</test>
<test>
<default>
<files>CopyOnAccessArray_bugs.js</files>
<tags>BugFix,require_backend</tags>
<compile-flags>-force:copyonaccessarray</compile-flags>
<baseline>CopyOnAccessArray_bugs.baseline</baseline>
</default>
</test>
<test>
<default>
<files>CopyOnAccessArray_cache_index_overflow.js</files>
<tags>BugFix,require_backend,exclude_forceserialized</tags>
<compile-flags>-force:copyonaccessarray -testtrace:CopyOnAccessArray</compile-flags>
<baseline>CopyOnAccessArray_cache_index_overflow.baseline</baseline>
</default>
</test>
<test>
<default>
<files>memop_lifetime_bug.js</files>
<compile-flags>-mic:1 -off:simplejit -mmoc:0</compile-flags>
</default>
</test>
<test>
<default>
<files>memset.js</files>
<compile-flags>-mic:1 -off:simplejit -off:JITLoopBody -off:inline -mmoc:0</compile-flags>
</default>
</test>
<test>
<default>
<files>memset_invariant.js</files>
<tags>Slow</tags>
<compile-flags>-mic:1 -off:simplejit -mmoc:0 -off:JITLoopBody</compile-flags>
</default>
</test>
<!--
<test>
<default>
<files>memset_simd.js</files>
<compile-flags>-mic:1 -off:simplejit -mmoc:0 -off:JITLoopBody -simdjs -simd128typespec</compile-flags>
</default>
</test>
-->
<test>
<default>
<files>memset2.js</files>
<compile-flags>-mic:1 -off:simplejit -off:JITLoopBody -mmoc:0</compile-flags>
</default>
</test>
<test>
<default>
<files>memcopy.js</files>
<compile-flags>-mic:1 -off:simplejit -off:JITLoopBody -off:inline -off:globopt:1.18-1.30 -mmoc:0</compile-flags>
</default>
</test>
<test>
<default>
<files>memcopy.js</files>
<compile-flags>-mic:1 -off:simplejit -off:JITLoopBody -off:inline -off:globopt:1.18-1.30 -mmoc:0 -args float -endargs</compile-flags>
</default>
</test>
<test>
<default>
<files>memcopy_length_bug.js</files>
<compile-flags>-bgjit- -lic:0</compile-flags>
</default>
</test>
<test>
<default>
<files>memcopy_missing_values.js</files>
<compile-flags>-mic:1 -off:simplejit -bgjit- -lic:1</compile-flags>
<baseline>memcopy_missing_values.baseline</baseline>
</default>
</test>
<test>
<default>
<files>memop_alias.js</files>
<compile-flags>-mic:1 -off:simplejit -off:jitloopbody -mmoc:0</compile-flags>
</default>
</test>
<test>
<default>
<files>memop_field.js</files>
<compile-flags>-mic:1 -off:simplejit -mmoc:0</compile-flags>
</default>
</test>
<test>
<default>
<files>memop_slot.js</files>
<compile-flags>-mic:1 -off:simplejit -mmoc:0</compile-flags>
</default>
</test>
<test>
<default>
<files>memop_bounds_check.js</files>
<compile-flags>-mic:1 -off:simplejit -mmoc:0</compile-flags>
</default>
</test>
<test>
<default>
<files>bug4587739.js</files>
<compile-flags>-mic:1 -off:simplejit</compile-flags>
</default>
</test>
<test>
<default>
<files>bug8159763.js</files>
<compile-flags>-mic:1 -off:simplejit -mmoc:0 -off:bailonnoprofile</compile-flags>
</default>
</test>
<test>
<default>
<files>Array_TypeConfusion_bugs.js</files>
<compile-flags>-args summary -endargs</compile-flags>
<tags>BugFix</tags>
</default>
</test>
</regress-exe>

View file

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="utf-8"?>
<regress-exe>
<test>
<default>
<files>errorProps.js</files>
<baseline>errorProps_v4.baseline</baseline>
<compile-flags>-ExtendedErrorStackForTestHost</compile-flags>
</default>
</test>
<test>
<default>
<files>ErrorCtorProps.js</files>
<baseline>ErrorCtorProps_v3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>NativeErrors.js</files>
<baseline>NativeErrors_v4.baseline</baseline>
<compile-flags>-ExtendedErrorStackForTestHost</compile-flags>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>outofmem.js</files>
<baseline>outofmem.baseline</baseline>
</default>
</test>
<test>
<default>
<files>stack.js</files>
</default>
</test>
<test>
<default>
<files>stack2.js</files>
<baseline>stack2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>errorCtor.js</files>
<baseline>errorCtor_v4.baseline</baseline>
<compile-flags>-ExtendedErrorStackForTestHost</compile-flags>
</default>
</test>
<test>
<default>
<files>errorNum.js</files>
<baseline>errorNum.baseline</baseline>
</default>
</test>
<test>
<default>
<files>CallNonFunction.js</files>
<baseline>CallNonFunction_3.baseline</baseline>
<tags>exclude_native,exclude_dynapogo</tags>
<!-- one of the error is different in JIT'ed code -->
</default>
</test>
<test>
<default>
<files>sourceInfo_00.js</files>
<baseline>sourceInfo_00.baseline</baseline>
<tags>fail</tags>
</default>
</test>
<test>
<default>
<files>sourceInfo_01.js</files>
<baseline>sourceInfo_01.baseline</baseline>
<tags>fail</tags>
</default>
</test>
<test>
<default>
<files>sourceInfo_10.js</files>
<baseline>sourceInfo_10.baseline</baseline>
<tags>fail</tags>
</default>
</test>
<test>
<default>
<files>sourceInfo_11.js</files>
<baseline>sourceInfo_11.baseline</baseline>
<tags>fail</tags>
</default>
</test>
<test>
<default>
<files>sourceInfo_12.js</files>
<baseline>sourceInfo_12.baseline</baseline>
<tags>fail</tags>
</default>
</test>
<test>
<default>
<files>sourceInfo_13.js</files>
<baseline>sourceInfo_13.baseline</baseline>
<tags>fail</tags>
</default>
</test>
<test>
<default>
<files>sourceInfo_20.js</files>
<baseline>sourceInfo_20.baseline</baseline>
<tags>fail</tags>
</default>
</test>
<test>
<default>
<files>variousErrors.js</files>
<baseline>variousErrors3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>RuntimeCompileStackOverflow.js</files>
<baseline>RuntimeCompileStackOverflow.baseline</baseline>
<tags>exclude_forceundodefer,exclude_arm,exclude_xplat</tags>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>encodeoverflow.js</files>
<baseline>encodeoverflow.baseline</baseline>
<tags>Slow</tags>
<timeout>300</timeout>
</default>
</test>
<test>
<default>
<files>bug560940.js</files>
</default>
</test>
<test>
<default>
<files>stackoverflow.js</files>
<baseline>stackoverflow.baseline</baseline>
<tags>Slow</tags>
</default>
</test>
<test>
<default>
<files>inlineSameFunc.js</files>
<baseline>inlineSameFunc.baseline</baseline>
<compile-flags>-ExtendedErrorStackForTestHost -maxinterpretcount:1 -off:simpleJit</compile-flags>
</default>
</test>
<test>
<default>
<files>PartInitStackFrame.js</files>
<baseline>PartInitStackFrame.baseline</baseline>
<compile-flags>-ExtendedErrorStackForTestHost -nonative -InjectPartiallyInitializedInterpreterFrameError:3 -InjectPartiallyInitializedInterpreterFrameErrorType:1</compile-flags>
</default>
</test>
<test>
<default>
<files>validate_line_column.js</files>
<baseline>validate_line_column.baseline</baseline>
<compile-flags>-ExtendedErrorStackForTestHost</compile-flags>
</default>
</test>
<test>
<default>
<files>validate_line_column.js</files>
<baseline>validate_line_column.baseline</baseline>
<compile-flags>-ExtendedErrorStackForTestHost -force:DeferParse</compile-flags>
</default>
</test>
</regress-exe>

View file

@ -0,0 +1,448 @@
<?xml version="1.0" encoding="utf-8"?>
<regress-exe>
<test>
<default>
<files>apply.js</files>
<baseline>apply.baseline</baseline>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>apply3.js</files>
<baseline>apply3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>applyArgs.js</files>
<baseline>applyArgs.baseline</baseline>
</default>
</test>
<test>
<default>
<files>arguments1.js</files>
<baseline>arguments1.baseline</baseline>
</default>
</test>
<test>
<default>
<files>arguments2.js</files>
<baseline>arguments2.baseline</baseline>
<tags>fail_mutators</tags>
</default>
</test>
<test>
<default>
<files>arguments3.js</files>
<baseline>arguments3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>arguments4.js</files>
</default>
</test>
<test>
<default>
<files>argumentsMisc.js</files>
<baseline>argumentsMisc_3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>arguments.es5.js</files>
<baseline>arguments.es5.baseline</baseline>
</default>
</test>
<test>
<default>
<files>argumentsResolution.js</files>
<baseline>argumentsResolution_3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>argumentsLimits.js</files>
<baseline>argumentsLimits.baseline</baseline>
<!-- this test takes a long time with dynapogo on chk build -->
<tags>exclude_chk</tags>
</default>
</test>
<test>
<default>
<files>someMoreArguments.js</files>
<baseline>someMoreArguments_3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>bind.js</files>
<baseline>bind.baseline</baseline>
</default>
</test>
<test>
<default>
<files>call1.js</files>
<baseline>call1.baseline</baseline>
</default>
</test>
<test>
<default>
<files>call2.js</files>
<baseline>call2.baseline</baseline>
</default>
</test>
<test>
<default>
<files>CallerArgs.js</files>
<baseline>CallerArgsES5.baseline</baseline>
</default>
</test>
<test>
<default>
<files>callsideeffects.js</files>
<baseline>callsideeffects_3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>catchsymbolvar.js</files>
</default>
</test>
<test>
<default>
<files>newsideeffect.js</files>
<baseline>newsideeffect.baseline</baseline>
</default>
</test>
<test>
<default>
<files>newsideeffect.js</files>
<baseline>newsideeffect.baseline</baseline>
<compile-flags>-Force:Deferparse</compile-flags>
<tags>exclude_ship</tags>
</default>
</test>
<test>
<default>
<files>callmissingtgt.js</files>
<baseline>callmissingtgt.6.baseline</baseline>
</default>
</test>
<test>
<default>
<files>defernested.js</files>
<baseline>defernested.baseline</baseline>
</default>
</test>
<test>
<default>
<files>defernested.js</files>
<compile-flags>-Force:Deferparse -DeferNested</compile-flags>
<baseline>defernested.baseline</baseline>
<tags>exclude_ship</tags>
</default>
</test>
<test>
<default>
<files>jitLoopBody.js</files>
<baseline>jitLoopBody.baseline</baseline>
<compile-flags>-force:jitLoopBody</compile-flags>
<tags>exclude_ship</tags>
</default>
</test>
<test>
<default>
<files>deferredParsing.js</files>
<compile-flags>-force:deferparse</compile-flags>
<baseline>deferredParsing_3.baseline</baseline>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>deferredParsing.js</files>
<compile-flags>-forceUndoDefer</compile-flags>
<baseline>deferredParsing_3.baseline</baseline>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>deferredGetterSetter.js</files>
<compile-flags>-force:deferparse</compile-flags>
<baseline>deferredGetterSetter.baseline</baseline>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>deferredBadContinue.js</files>
<baseline>deferredBadContinue.baseline</baseline>
<tags>exclude_dynapogo</tags>
</default>
</test>
<test>
<default>
<files>deferredBadContinue.js</files>
<baseline>deferredBadContinue.baseline</baseline>
<compile-flags>-Force:Deferparse</compile-flags>
<tags>exclude_ship,exclude_dynapogo</tags>
</default>
</test>
<test>
<default>
<files>deferredWith.js</files>
<compile-flags>-Force:Deferparse</compile-flags>
<baseline>deferredWith.v4.baseline</baseline>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>deferredWith2.js</files>
<compile-flags>-Force:Deferparse</compile-flags>
<baseline>deferredWith2.baseline</baseline>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>newFunction.js</files>
<baseline>newFunction.baseline</baseline>
</default>
</test>
<test>
<default>
<files>prototype.js</files>
<baseline>prototype.baseline</baseline>
</default>
</test>
<test>
<default>
<files>TApply1.js</files>
<baseline>TApply1.baseline</baseline>
</default>
</test>
<test>
<default>
<files>toString.js</files>
<baseline>toString.baseline</baseline>
<tags>fail_mutators</tags>
</default>
</test>
<test>
<default>
<files>funcExpr.js</files>
<baseline>funcExpr5.baseline</baseline>
<tags>fail_mutators</tags>
</default>
</test>
<test>
<default>
<files>moreFuncExpr.js</files>
<baseline>moreFuncExpr3.baseline</baseline>
<tags>fail_mutators</tags>
</default>
</test>
<test>
<default>
<files>moreFuncExpr.js</files>
<baseline>moreFuncExpr3.baseline</baseline>
<compile-flags>-forceundodefer</compile-flags>
<tags>fail_mutators</tags>
</default>
</test>
<test>
<default>
<files>evenMoreFuncExpr3.js</files>
<baseline>evenMoreFuncExpr3.baseline</baseline>
<tags>fail_mutators</tags>
</default>
</test>
<test>
<default>
<files>someMoreFuncExpr.js</files>
<baseline>someMoreFuncExpr3.baseline</baseline>
<tags>fail_mutators</tags>
</default>
</test>
<test>
<default>
<files>constructor.js</files>
<baseline>constructor.baseline</baseline>
</default>
</test>
<test>
<default>
<files>ctrFlags.js</files>
<baseline>ctrFlags3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>typeErrorAccessor.js</files>
<baseline>typeErrorAccessor.baseline</baseline>
</default>
</test>
<test>
<default>
<files>FuncBody.js</files>
<baseline>FuncBodyES5.baseline</baseline>
</default>
</test>
<test>
<default>
<files>FuncBody.bug133933.js</files>
<baseline>FuncBody.bug133933.baseline</baseline>
<compile-flags>-trace:FunctionSourceInfoParse -off:deferparse</compile-flags>
<tags>exclude_fre,exclude_dynapogo</tags>
</default>
</test>
<test>
<default>
<files>FuncBody.bug227901.js</files>
<baseline>FuncBody.bug227901.baseline</baseline>
<compile-flags>-off:deferparse</compile-flags>
</default>
</test>
<test>
<default>
<files>FuncBody.bug232281.js</files>
<baseline>FuncBody.bug232281.baseline</baseline>
<compile-flags>-off:deferparse</compile-flags>
</default>
</test>
<test>
<default>
<files>FuncBody.bug236810.js</files>
<baseline>FuncBody.bug236810.baseline</baseline>
<compile-flags>-off:deferparse</compile-flags>
</default>
</test>
<test>
<default>
<files>FuncBody.bug231397.js</files>
<baseline>FuncBody.bug231397.baseline</baseline>
<compile-flags>-dump:bytecode</compile-flags>
<tags>exclude_bytecodelayout,exclude_fre,require_backend</tags>
</default>
</test>
<test>
<default>
<files>bug_258259.js</files>
<baseline>bug_258259.baseline</baseline>
<compile-flags>-ExtendedErrorStackForTestHost</compile-flags>
</default>
</test>
<test>
<default>
<files>sameNamePara.js</files>
<baseline>sameNamePara.baseline</baseline>
</default>
</test>
<test>
<default>
<files>closure.js</files>
<baseline>closure.baseline</baseline>
</default>
</test>
<test>
<default>
<files>undefThis.js</files>
<baseline>undefThis.v10.baseline</baseline>
</default>
</test>
<test>
<default>
<files>stackargs.js</files>
<baseline>stackargs.baseline</baseline>
</default>
</test>
<test>
<default>
<files>StackArgsWithFormals.js</files>
<compile-flags>-mic:1 -off:simpleJit</compile-flags>
</default>
</test>
<test>
<default>
<files>StackArgsWithFormals.js</files>
<compile-flags>-mic:1 -off:simpleJit -forceserialized</compile-flags>
</default>
</test>
<test>
<default>
<files>StackArgsWithFormals.js</files>
<compile-flags>-mic:1 -off:simpleJit -forcedeferparse</compile-flags>
</default>
</test>
<test>
<default>
<files>StackArgsWithFormals.js</files>
<compile-flags>-mic:1 -off:simpleJit -trace:stackargformalsopt</compile-flags>
<tags>exclude_dynapogo,exclude_ship,exclude_fre,exclude_nonative,require_backend,exclude_forceserialized</tags>
<baseline>StackArgsWithFormals.baseline</baseline>
</default>
</test>
<test>
<default>
<files>StackArgs_MaxInterpret.js</files>
<compile-flags>-minInterpretCount:1 -maxInterpretCount:1 -off:simpleJit</compile-flags>
<tags>exclude_dynapogo,exclude_ship</tags>
</default>
</test>
<test>
<default>
<files>childCallsEvalJitLoopBody.js</files>
<baseline />
<compile-flags>-prejit</compile-flags>
<tags>exclude_fre,exclude_dynapogo</tags>
</default>
</test>
<test>
<default>
<files>631838.js</files>
<compile-flags>-nonative</compile-flags>
<baseline>631838.baseline</baseline>
<!-- On ARM it would take TOO long (700s on Tegra 2 vs 20s on Intel Core i7) to run, as we need to use even bigger object -->
<tags>exclude_dynapogo,exclude_arm,Slow</tags>
</default>
</test>
<test>
<default>
<files>calli.js</files>
</default>
</test>
<test>
<default>
<files>caller_replaced_proto.js</files>
</default>
</test>
<test>
<default>
<files>bug542360.js</files>
</default>
</test>
<test>
<default>
<files>crosssite_bind_main.js</files>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>failnativecodeinstall.js</files>
<compile-flags>-maxinterpretcount:2 -lic:1 -bgjit -off:simplejit -on:failnativecodeinstall</compile-flags>
<tags>exclude_dynapogo,require_backend</tags>
<baseline>failnativecodeinstall.baseline</baseline>
</default>
</test>
<test>
<default>
<files>redefer-recursive-inlinees.js</files>
<baseline>redefer-recursive-inlinees.baseline</baseline>
</default>
</test>
</regress-exe>

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<regress-exe>
<test>
<default>
<files>HasOnlyWritableDataPropertiesCache.js</files>
<baseline>HasOnlyWritableDataPropertiesCache.baseline</baseline>
</default>
</test>
<test>
<default>
<compile-flags>-recyclerVerify</compile-flags>
<files>longstring.js</files>
<tags>exclude_fre</tags>
</default>
</test>
<test>
<default>
<files>evalAlias.js</files>
<baseline />
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>oom.js</files>
<baseline>oom.baseline</baseline>
<compile-flags>-forcefragmentaddressspace:8000000</compile-flags>
<tags>exclude_amd64,fail</tags>
</default>
</test>
<test>
<default>
<files>SetTimeout.js</files>
<baseline>SetTimeout.baseline</baseline>
</default>
</test>
</regress-exe>

View file

@ -0,0 +1,247 @@
<?xml version="1.0" encoding="utf-8"?>
<regress-exe>
<test>
<default>
<files>charAt.js</files>
<baseline>charAt.baseline</baseline>
</default>
</test>
<test>
<default>
<files>fromCharCode.js</files>
<baseline>fromCharCode.baseline</baseline>
</default>
</test>
<test>
<default>
<files>charCodeAt.js</files>
<baseline>charCodeAt.baseline</baseline>
</default>
</test>
<test>
<default>
<files>concat1.js</files>
<baseline>concat1.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>concat2.js</files>
<baseline>concat2.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>concat3.js</files>
<baseline>concat3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>concat4.js</files>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>concat5.js</files>
<baseline>concat5.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>concat6.js</files>
</default>
</test>
<test>
<default>
<files>concat7.js</files>
<compile-flags>-off:bailonnoprofile -loopinterpretcount:1 -bgjit-</compile-flags>
</default>
</test>
<test>
<default>
<files>concat_empty.js</files>
<baseline>concat_empty.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>LeftDead.js</files>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>split1.js</files>
<baseline>split1_v3.baseline</baseline>
<compile-flags>-ES6ToLength</compile-flags>
</default>
</test>
<test>
<default>
<files>stringBuiltin.js</files>
<baseline>stringBuiltin.baseline</baseline>
</default>
</test>
<test>
<default>
<files>toLowerCase.js</files>
<baseline>toLowerCase.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>string_replace.js</files>
<baseline>string_replace.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>compare.js</files>
<baseline>compare.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>replace.js</files>
<baseline>replace.baseline</baseline>
</default>
</test>
<test>
<default>
<files>trim.js</files>
<baseline>trim.baseline</baseline>
</default>
</test>
<test>
<default>
<files>lastindexof.js</files>
<compile-flags>-args summary -endargs</compile-flags>
</default>
</test>
<test>
<default>
<files>indexof.js</files>
<baseline>indexof.baseline</baseline>
</default>
</test>
<test>
<default>
<files>neg_index.js</files>
</default>
</test>
<test>
<default>
<files>substring.js</files>
<baseline>substring.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>HTMLHelpers.js</files>
<baseline>HTMLHelpers.baseline</baseline>
<compile-flags>-Intl- -ES6StringPrototypeFixes</compile-flags>
</default>
</test>
<test>
<default>
<files>stringindex.js</files>
<baseline>stringindex_v3.baseline</baseline>
</default>
</test>
<test>
<default>
<files>length.js</files>
<baseline>length.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<files>stringtypespec.js</files>
<baseline>stringtypespec.baseline</baseline>
<compile-flags>-Intl-</compile-flags>
</default>
</test>
<test>
<default>
<escargot-skip>FIXME: take too much time</escargot-skip>
<files>CompoundString.js</files>
<baseline>CompoundString.baseline</baseline>
<compile-flags>-minInterpretCount:1 -maxInterpretCount:1 -off:simpleJit -Intl-</compile-flags>
<tags>exclude_dynapogo,exclude_ship,Slow</tags>
</default>
</test>
<test>
<default>
<files>concatmulti.js</files>
<baseline>concatmulti.baseline</baseline>
</default>
</test>
<test>
<default>
<files>concatmulti_compoundstring.js</files>
<baseline>concatmulti_compoundstring.baseline</baseline>
</default>
</test>
<test>
<default>
<files>concatmulti_large.js</files>
<baseline>concatmulti_large.baseline</baseline>
</default>
</test>
<test>
<default>
<files>concatmulti_loop.js</files>
<baseline>concatmulti_loop.baseline</baseline>
</default>
</test>
<test>
<default>
<files>long_concatstr.js</files>
<baseline>long_concatstr.baseline</baseline>
</default>
</test>
<test>
<default>
<files>StringTagFunctions.js</files>
<baseline>StringTagFunctions.baseline</baseline>
<compile-flags>-ES6StringPrototypeFixes</compile-flags>
</default>
</test>
<test>
<default>
<files>string_object_indices_589140.js</files>
<baseline>string_object_indices_589140.baseline</baseline>
</default>
</test>
<test>
<default>
<files>property_and_index_of_string.js</files>
<compile-flags>-args summary -endargs</compile-flags>
</default>
</test>
<test>
<default>
<files>bug_OS_3080673.js</files>
<tags>BugFix</tags>
</default>
</test>
<test>
<default>
<files>unicode_toUpperCase_toLowerCase.js</files>
<compile-flags>-args summary -endargs</compile-flags>
<tags>exclude_win7</tags>
</default>
</test>
</regress-exe>

View file

@ -0,0 +1 @@
Pass

View file

@ -0,0 +1 @@
PASS

View file

@ -0,0 +1 @@
passed

View file

@ -0,0 +1 @@
Passed

View file

@ -0,0 +1 @@
PASSED

View file

@ -0,0 +1,34 @@
var nativePrint = print;
var nativeGlobal = this;
var WScript = {
Echo : function() {
var length = arguments.length;
var finalResult = "";
for (var i = 0; i < length; i++) {
if (i != 0)
finalResult += " ";
var arg = arguments[i];
if (typeof arg == undefined || arg == null)
finalResult += arg;
else
finalResult += (arg.toString());
}
nativePrint(finalResult);
},
LoadScriptFile : function(path) {
try {
load(path);
} catch (e) {
if (e.message == "GlobalObject.load: cannot load file")
load("test\\chakracore\\UnitTestFramework\\" + path);
else
throw e;
}
return nativeGlobal;
},
Arguments : ["summary"]
};
function CollectGarbage() {
gc();
}

View file

@ -0,0 +1,436 @@
<?xml version="1.0" encoding="utf-8"?>
<regress-exe>
<dir>
<default>
<files>UnitTestFramework</files>
</default>
</dir>
<dir>
<default>
<files>Array</files>
</default>
</dir>
<dir>
<default>
<files>Basics</files>
</default>
</dir>
<dir>
<default>
<files>es5</files>
</default>
</dir>
<dir>
<default>
<files>EH</files>
</default>
</dir>
<dir>
<default>
<files>InlineCaches</files>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(es6: let, const)</escargot-skip>
<files>LetConst</files>
</default>
</dir>
<dir>
<default>
<files>Basics</files>
</default>
</dir>
<dir>
<default>
<files>Generated</files>
<tags>Slow</tags>
</default>
</dir>
<dir>
<default>
<files>Closures</files>
</default>
</dir>
<dir>
<default>
<files>Strings</files>
</default>
</dir>
<dir>
<default>
<files>Date</files>
</default>
</dir>
<dir>
<default>
<files>Error</files>
</default>
</dir>
<dir>
<default>
<files>Boolean</files>
</default>
</dir>
<dir>
<default>
<files>Number</files>
</default>
</dir>
<dir>
<default>
<files>ControlFlow</files>
</default>
</dir>
<dir>
<default>
<files>Math</files>
</default>
</dir>
<dir>
<default>
<files>Array</files>
</default>
</dir>
<dir>
<default>
<files>TaggedIntegers</files>
</default>
</dir>
<dir>
<default>
<files>TaggedFloats</files>
</default>
</dir>
<dir>
<default>
<files>Optimizer</files>
<tags>require_backend</tags>
</default>
</dir>
<dir>
<default>
<files>Function</files>
</default>
</dir>
<dir>
<default>
<files>Object</files>
</default>
</dir>
<dir>
<default>
<files>Regex</files>
</default>
</dir>
<dir>
<default>
<files>Prototypes</files>
</default>
</dir>
<dir>
<default>
<files>GlobalFunctions</files>
</default>
</dir>
<dir>
<default>
<files>Operators</files>
</default>
</dir>
<dir>
<default>
<files>Conversions</files>
</default>
</dir>
<dir>
<default>
<files>RWC</files>
</default>
</dir>
<dir>
<default>
<escargot-skip>Chakracore-only</escargot-skip>
<files>VT_DATE</files>
</default>
</dir>
<dir>
<default>
<files>Lib</files>
</default>
</dir>
<dir>
<default>
<files>JSON</files>
</default>
</dir>
<dir>
<default>
<files>Bugs</files>
</default>
</dir>
<dir>
<default>
<files>strict</files>
</default>
</dir>
<dir>
<default>
<files>Utf8</files>
</default>
</dir>
<dir>
<default>
<files>UnifiedRegex</files>
</default>
</dir>
<dir>
<default>
<files>typedarray</files>
</default>
</dir>
<dir>
<default>
<files>bailout</files>
<tags>require_backend</tags>
</default>
</dir>
<dir>
<default>
<files>Loop</files>
</default>
</dir>
<dir>
<default>
<files>StackTrace</files>
</default>
</dir>
<dir>
<default>
<files>Miscellaneous</files>
</default>
</dir>
<dir>
<default>
<files>fieldopts</files>
</default>
</dir>
<dir>
<default>
<files>FixedFields</files>
<tags>require_backend</tags>
</default>
</dir>
<dir>
<default>
<files>inlining</files>
<tags>require_backend</tags>
</default>
</dir>
<dir>
<default>
<files>DynamicCode</files>
</default>
</dir>
<dir>
<default>
<files>es6</files>
</default>
</dir>
<dir>
<default>
<files>es7</files>
</default>
</dir>
<dir>
<default>
<files>switchStatement</files>
</default>
</dir>
<dir>
<default>
<escargot-skip>Chakracore-only</escargot-skip>
<files>stackfunc</files>
<tags>exclude_serialized,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Chakracore-only</escargot-skip>
<files>PerfHint</files>
<tags>exclude_serialized,exclude_snap,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(AsmJs)</escargot-skip>
<files>AsmJs</files>
<tags>exclude_serialized,exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(AsmJs)</escargot-skip>
<files>AsmJsFloat</files>
<tags>exclude_serialized,exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(AsmJs)</escargot-skip>
<files>AsmJsParser</files>
<tags>exclude_serialized,exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.float32x4</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.int32x4</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.int8x16</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.float32x4.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.int32x4.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.int16x8.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.int8x16.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.uint32x4.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.uint16x8.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.uint8x16.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.bool32x4.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.bool16x8.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.bool8x16.asmjs</files>
<tags>exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.workloads.asmjs</files>
<tags>exclude_serialized,exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.wrappers</files>
<tags>exclude_serialized,exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(SIMD)</escargot-skip>
<files>SIMD.TypeSpec</files>
<tags>exclude_serialized,exclude_arm,exclude_arm64,require_backend</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(WebAssembly)</escargot-skip>
<files>WasmSpec</files>
<tags>exclude_serialized,exclude_arm,exclude_arm64,require_backend,exclude_xplat</tags>
</default>
</dir>
<dir>
<default>
<escargot-skip>Not in scope(WebAssembly)</escargot-skip>
<files>wasm</files>
<tags>exclude_serialized,exclude_arm,exclude_arm64,require_backend,exclude_xplat</tags>
<tags>exclude_arm,exclude_arm64</tags>
</default>
</dir>
<dir>
<default>
<files>Debugger</files>
<tags>exclude_serialized,exclude_jshost,exclude_snap,require_debugger</tags>
</default>
</dir>
<dir>
<default>
<files>DebuggerCommon</files>
<tags>exclude_serialized,exclude_jshost,exclude_snap,require_debugger</tags>
</default>
</dir>
<dir>
<default>
<files>TTExecuteBasic</files>
<tags>sequential,exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
</default>
</dir>
<dir>
<default>
<files>TTBasic</files>
<tags>sequential,exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
</default>
</dir>
</regress-exe>

View file

@ -0,0 +1,249 @@
#TEST_ROOT=$(pwd)
TEST_ROOT=$(dirname $(readlink -f $0))
BIN=
if [[ $(uname -m) == *"arm"* ]]; then
ARM=1
else
ARM=0
fi
if [[ "$ARM" == "1" ]]; then
DIFF_CMD=$TEST_ROOT/diff.py
else
DIFF_CMD="diff -Z -i -a"
fi
TOOL_PATH=$TEST_ROOT/../../../tools/vendortest/chakracore
BASELINE_PATH=$TOOL_PATH/baseline
TEMPORARY_OUTPUT_FILE=$TOOL_PATH/tmp
TEMPORARY_DIFF_FILE=$TOOL_PATH/diff
LOG_FILE=$TOOL_PATH/chakracorelog.verbose.txt
INCLUDE=" $TEST_ROOT/include.js $TEST_ROOT/UnitTestFramework/UnitTestFramework.js"
ARRAY_KEYS=()
declare -a TABLE_COUNT
declare -a TABLE_PASS
declare -a TABLE_FAIL
declare -a TABLE_SKIP
print_usage() {
echo "$ cd test/chakracore"
echo "$ ./run.sh \$BIN \$TESTDIR "
}
read_dom() {
local IFS=\>
read -d \< ENTITY CONTENT
}
print_count() {
TESTNAME=$1
COUNT=$2
PASS=$3
FAIL=$4
SKIP=$5
PASS_RATIO=$((PASS*100/COUNT))
printf "%20s\t\t%d\t\t%d\t\t%d\t\t%d\t\t(%d%%)\n" $TESTNAME $COUNT $PASS $FAIL $SKIP $PASS_RATIO
}
run_test() {
FILES=$1
BASELINE=$2
SKIP=$3
TZSET=$4
CMD="$BIN $INCLUDE $FILES"
echo "==========================================================" >> $LOG_FILE
echo -n "[$DIR] $FILES .......... "
echo "[$DIR] $FILES" >> $LOG_FILE
echo $CMD >> $LOG_FILE
if [[ $SKIP != "" ]]; then
((LOCAL_SKIP+=1))
printf "Skip ($SKIP)\n" | tee -a $LOG_FILE
else
if [[ $TZSET != "" ]]; then
CMD="env TZ=US/Pacific $CMD";
fi
$($CMD \
| sed 's/\[object global\]/[object Object]/g' \
> $TEMPORARY_OUTPUT_FILE 2>> $LOG_FILE)
$($DIFF_CMD $TEMPORARY_OUTPUT_FILE $BASELINE 2>&1 > $TEMPORARY_DIFF_FILE)
DIFF_EXIT_CODE=$?
if [[ $BASELINE == $BASELINE_PATH/baseline1 ]]; then
if [[ "$DIFF_EXIT_CODE" != "0" ]]; then
$($DIFF_CMD $TEMPORARY_OUTPUT_FILE $BASELINE_PATH/baseline2 2>&1 > $TEMPORARY_DIFF_FILE)
DIFF_EXIT_CODE=$?
fi
if [[ "$DIFF_EXIT_CODE" != "0" ]]; then
$($DIFF_CMD $TEMPORARY_OUTPUT_FILE $BASELINE_PATH/baseline3 2>&1 > $TEMPORARY_DIFF_FILE)
DIFF_EXIT_CODE=$?
fi
if [[ "$DIFF_EXIT_CODE" != "0" ]]; then
$($DIFF_CMD $TEMPORARY_OUTPUT_FILE $BASELINE_PATH/baseline4 2>&1 > $TEMPORARY_DIFF_FILE)
DIFF_EXIT_CODE=$?
fi
if [[ "$DIFF_EXIT_CODE" != "0" ]]; then
$($DIFF_CMD $TEMPORARY_OUTPUT_FILE $BASELINE_PATH/baseline5 2>&1 > $TEMPORARY_DIFF_FILE)
DIFF_EXIT_CODE=$?
fi
fi
if [[ $TZSET != "" ]]; then
TZ=Asia/Seoul;
fi
if [[ "$DIFF_EXIT_CODE" != "0" ]]; then
printf "Fail\n" | tee -a $LOG_FILE
cat $TEMPORARY_DIFF_FILE >> $LOG_FILE
((LOCAL_FAIL+=1))
else
printf "Pass\n" | tee -a $LOG_FILE
((LOCAL_PASS+=1))
fi
fi
}
run_dir() {
DIR=$1
idx=$2
FILES=
BASELINE=
SKIP=
TZSET=
LOCAL_COUNT=0
LOCAL_PASS=0
LOCAL_FAIL=0
LOCAL_SKIP=0
cd ${TEST_ROOT}/$DIR;
while read_dom; do
if [[ $ENTITY == test ]]; then
FILES=
BASELINE=
SKIP=
TZSET=
fi
if [[ $ENTITY == files ]]; then
((LOCAL_COUNT+=1))
FILES=$CONTENT
fi
if [[ $ENTITY == baseline ]]; then
BASELINE=$CONTENT
fi
if [[ $ENTITY == escargot-skip ]]; then
SKIP=$CONTENT
fi
if [[ $ENTITY == escargot-tizen-wearable-skip && "$ARM" == "1" ]]; then
SKIP=$CONTENT
fi
if [[ $ENTITY == compile-flags ]]; then # overwrite some variables
if [[ $CONTENT == *-dump:bytecode* ]]; then
BASELINE=
fi
if [[ $CONTENT == *-trace:FunctionSourceInfoParse* ]]; then
BASELINE=
fi
if [[ $CONTENT == *-ForceStrictMode* ]]; then
SKIP=$CONTENT
fi
fi
if [[ $ENTITY == *timezone-sensitive* ]]; then
TZSET=Los_Angeles
fi
if [[ "$ENTITY" == "/test" && "$FILES" != "" ]]; then
REAL_FILES=$(find . -iname $FILES -printf "%P\n")
if [[ $BASELINE == "" ]]; then
REAL_BASELINE=$BASELINE_PATH/baseline1
else
REAL_BASELINE=$(find . -iname $BASELINE -printf "%P\n")
fi
run_test "$REAL_FILES" "$REAL_BASELINE" "$SKIP" "$TZSET"
fi
done < rlexe.xml;
ARRAY_KEYS+=($DIR)
TABLE_COUNT[$idx]=$LOCAL_COUNT
TABLE_PASS[$idx]=$LOCAL_PASS
TABLE_FAIL[$idx]=$LOCAL_FAIL
TABLE_SKIP[$idx]=$LOCAL_SKIP
cd ..
}
main() {
BIN=$1
TESTDIR=$2
idx=0
echo "" > $LOG_FILE
if [[ !(-x $BIN) ]]; then
echo "JS Engine $BIN is not valid"
print_usage
exit 1
fi
if [[ $TESTDIR != "" ]]; then
echo "Running $TESTDIR" | tee -a $LOG_FILE
REAL_TESTDIR=$(find . -iname $TESTDIR -printf "%P\n")
if [[ -d $REAL_TESTDIR ]]; then
run_dir $REAL_TESTDIR $idx
else
echo "Invalid dir $TESTDIR"
exit 1
fi
else
echo "Running all tests" | tee -a $LOG_FILE
TESTDIR=
SKIP=
while read_dom; do
if [[ $ENTITY == dir ]]; then
TESTDIR=
SKIP=
fi
if [[ $ENTITY == files ]]; then
TESTDIR=$CONTENT
fi
if [[ $ENTITY == escargot-skip ]]; then
SKIP=$CONTENT
fi
if [[ $ENTITY == /dir ]]; then
REAL_TESTDIR=$(find ${TEST_ROOT} -iname $TESTDIR -printf "%P\n")
if [[ $SKIP == "" ]]; then
run_dir $REAL_TESTDIR $idx
((idx+=1))
else
echo "[$REAL_TESTDIR] Skipping whole directory ($SKIP)"
fi
fi
done < ${TEST_ROOT}/rlexedirs.xml
fi
TOTAL_COUNT=0
TOTAL_PASS=0
TOTAL_FAIL=0
TOTAL_SKIP=0
echo "==========================================================" | tee -a $LOG_FILE
echo "TESTNAME TOTAL PASS FAIL SKIP PASS_RATIO"
idx=0
for key in ${ARRAY_KEYS[@]}; do
print_count $key ${TABLE_COUNT[$idx]} ${TABLE_PASS[$idx]} ${TABLE_FAIL[$idx]} ${TABLE_SKIP[$idx]}
((TOTAL_COUNT+=${TABLE_COUNT[$idx]}))
((TOTAL_PASS+=${TABLE_PASS[$idx]}))
((TOTAL_FAIL+=${TABLE_FAIL[$idx]}))
((TOTAL_SKIP+=${TABLE_SKIP[$idx]}))
((idx+=1))
done
echo "==========================================================" | tee -a $LOG_FILE
print_count "Total" $TOTAL_COUNT $TOTAL_PASS $TOTAL_FAIL $TOTAL_SKIP
}
main $(pwd)/$1 $2
rm $TEMPORARY_OUTPUT_FILE
rm $TEMPORARY_DIFF_FILE

File diff suppressed because it is too large Load diff