| Index: mozilla-tests/test.sh
|
| ===================================================================
|
| --- mozilla-tests/test.sh (revision 43940)
|
| +++ mozilla-tests/test.sh (working copy)
|
| @@ -41,7 +41,7 @@
|
| cat <<EOF
|
| `basename $0`: error
|
|
|
| -TEST_DIR, the location of the Sisyphus framework,
|
| +TEST_DIR, the location of the Sisyphus framework,
|
| is required to be set prior to calling this script.
|
| EOF
|
| exit 2
|
| @@ -80,41 +80,41 @@
|
|
|
| variable description
|
| =============== ============================================================
|
| --p product required. firefox|thunderbird|js
|
| --b branch required. 1.8.0|1.8.1|1.9.0|1.9.1
|
| +-p product required. firefox|thunderbird|js|fennec
|
| +-b branch required. one of supported branches. see library.sh.
|
| -s jsshellsourcepath required for shell. path to js shell source directory mozilla/js/src
|
| -T buildtype required. one of opt debug
|
| -x executablepath required for browser. directory-tree containing executable 'product'
|
| --N profilename required for browser. profile name
|
| --X excludetests optional. By default the test will exclude the
|
| - tests listed in spidermonkey-n-\$branch.tests,
|
| +-N profilename required for browser. profile name
|
| +-X excludetests optional. By default the test will exclude the
|
| + tests listed in spidermonkey-n-\$branch.tests,
|
| performance-\$branch.tests. excludetests is a list of either
|
| - individual tests, manifest files or sub-directories which
|
| + individual tests, manifest files or sub-directories which
|
| will override the default exclusion list.
|
| --I includetests optional. By default the test will include the
|
| +-I includetests optional. By default the test will include the
|
| JavaScript tests appropriate for the branch. includetests is a
|
| - list of either individual tests, manifest files or
|
| - sub-directories which will override the default inclusion
|
| + list of either individual tests, manifest files or
|
| + sub-directories which will override the default inclusion
|
| list.
|
| --c optional. By default the test will exclude tests
|
| - which crash on this branch, test type, build type and
|
| - operating system. -c will include tests which crash.
|
| - Typically this should only be used in combination with -R.
|
| +-c optional. By default the test will exclude tests
|
| + which crash on this branch, test type, build type and
|
| + operating system. -c will include tests which crash.
|
| + Typically this should only be used in combination with -R.
|
| This has no effect on shell based tests which execute crash
|
| tests regardless.
|
| --t optional. By default the test will exclude tests
|
| - which time out on this branch, test type, build type and
|
| +-t optional. By default the test will exclude tests
|
| + which time out on this branch, test type, build type and
|
| operating system. -t will include tests which timeout.
|
| -J jsoptions optional. Set JavaScript options:
|
| - -Z n Set gczeal to n. Currently, only valid for
|
| + -Z n Set gczeal to n. Currently, only valid for
|
| debug builds of Gecko 1.8.1.15, 1.9.0 and later.
|
| -z optional. use split objects in the shell.
|
| -j optional. use JIT in the shell. Only available on 1.9.1 and later
|
| -F optional. Just generate file lists without running any tests.
|
| --d datafiles optional. one or more filenames of files containing
|
| +-d datafiles optional. one or more filenames of files containing
|
| environment variable definitions to be included.
|
|
|
| - note that the environment variables should have the same
|
| + note that the environment variables should have the same
|
| names as in the "variable" column.
|
|
|
| if an argument contains more than one value, it must be quoted.
|
| @@ -123,29 +123,29 @@
|
| }
|
|
|
| while getopts "p:b:s:T:x:N:d:X:I:J:RctF" optname
|
| -do
|
| +do
|
| case $optname in
|
| - p)
|
| + p)
|
| product=$OPTARG;;
|
| - b)
|
| + b)
|
| branch=$OPTARG;;
|
| - T)
|
| + T)
|
| buildtype=$OPTARG;;
|
| - s)
|
| + s)
|
| jsshellsourcepath=$OPTARG;;
|
| - N)
|
| + N)
|
| profilename=$OPTARG;;
|
| - x)
|
| + x)
|
| executablepath=$OPTARG;;
|
| - X)
|
| + X)
|
| excludetests=$OPTARG;;
|
| - I)
|
| + I)
|
| includetests=$OPTARG;;
|
| - c)
|
| + c)
|
| crashes=1;;
|
| - t)
|
| + t)
|
| timeouts=1;;
|
| - F)
|
| + F)
|
| filesonly=1;;
|
| J)
|
| javascriptoptions=$OPTARG
|
| @@ -158,7 +158,7 @@
|
| unset OPTIND
|
| while getopts "Z:jz" optname $javascriptoptions; do
|
| case $optname in
|
| - Z)
|
| + Z)
|
| gczealshell="-Z $OPTARG"
|
| gczealbrowser=";gczeal=$OPTARG"
|
| ;;
|
| @@ -166,7 +166,8 @@
|
| splitobjects="-z"
|
| ;;
|
| j)
|
| - jit="-j"
|
| + jitshell="-j"
|
| + jitbrowser=";jit"
|
| ;;
|
| esac
|
| done
|
| @@ -174,7 +175,7 @@
|
|
|
| # include environment variables
|
| if [[ -n "$datafiles" ]]; then
|
| - for datafile in $datafiles; do
|
| + for datafile in $datafiles; do
|
| source $datafile
|
| done
|
| fi
|
| @@ -197,7 +198,7 @@
|
| executable="$jsshellsourcepath/$JS_OBJDIR/js$EXE_EXT"
|
| ;;
|
|
|
| - firefox|thunderbird)
|
| + firefox|thunderbird|fennec)
|
| if [[ -z "$branch" || -z "$buildtype" || -z "$executablepath" || -z "$profilename" ]]; then
|
| usage
|
| fi
|
| @@ -309,7 +310,7 @@
|
| # by default include tests appropriate for the branch
|
| includetests="e4x ecma ecma_2 ecma_3 js1_1 js1_2 js1_3 js1_4 js1_5 js1_6"
|
|
|
| - case "$branch" in
|
| + case "$branch" in
|
| 1.8.0)
|
| ;;
|
| 1.8.1)
|
| @@ -321,6 +322,12 @@
|
| 1.9.1)
|
| includetests="$includetests js1_7 js1_8 ecma_3_1 js1_8_1"
|
| ;;
|
| + 1.9.2)
|
| + includetests="$includetests js1_7 js1_8 ecma_3_1 js1_8_1"
|
| + ;;
|
| + 1.9.3)
|
| + includetests="$includetests js1_7 js1_8 ecma_3_1 js1_8_1"
|
| + ;;
|
| esac
|
| fi
|
|
|
| @@ -358,15 +365,6 @@
|
| fi
|
| done
|
|
|
| -# convert the numeric speed rating to a prose value
|
| -if [[ $TEST_CPUSPEED -lt 4 ]]; then
|
| - TEST_CPUSPEED=slow
|
| -elif [[ $TEST_CPUSPEED -lt 9 ]]; then
|
| - TEST_CPUSPEED=medium
|
| -else
|
| - TEST_CPUSPEED=fast
|
| -fi
|
| -
|
| if [[ -z "$TEST_MOZILLA_HG" ]]; then
|
| repo=CVS
|
| else
|
| @@ -374,19 +372,17 @@
|
| fi
|
| debug "repo=$repo"
|
|
|
| -pattern="TEST_BRANCH=($branch|[.][*]), TEST_REPO=($repo|[.][*]), TEST_BUILDTYPE=($buildtype|[.][*]), TEST_TYPE=($testtype|[.][*]), TEST_OS=($OSID|[.][*]), TEST_KERNEL=($TEST_KERNEL|[.][*]), TEST_PROCESSORTYPE=($TEST_PROCESSORTYPE|[.][*]), TEST_MEMORY=($TEST_MEMORY|[.][*]), TEST_CPUSPEED=($TEST_CPUSPEED|[.][*]),"
|
| +pattern="TEST_BRANCH=($branch|[.][*]), TEST_REPO=($repo|[.][*]), TEST_BUILDTYPE=($buildtype|[.][*]), TEST_TYPE=($testtype|[.][*]), TEST_OS=($OSID|[.][*]), TEST_KERNEL=($TEST_KERNEL|[.][*]), TEST_PROCESSORTYPE=($TEST_PROCESSORTYPE|[.][*]), TEST_MEMORY=($TEST_MEMORY|[.][*]),"
|
|
|
| if [[ -z "$timeouts" ]]; then
|
| echo "# exclude tests that time out" >> $excludetestsfile
|
| - echo "$pattern .*TEST_EXITSTATUS=TIMED OUT," >> $excludetestsfile
|
| - egrep "$pattern .*TEST_EXITSTATUS=TIMED OUT," failures.txt | \
|
| + egrep "$pattern .*TEST_EXITSTATUS=[^,]*TIMED OUT[^,]*," failures.txt | \
|
| sed 's/.*TEST_ID=\([^,]*\),.*/\1/' | sort -u >> $excludetestsfile
|
| fi
|
|
|
| if [[ -z "$crashes" ]]; then
|
| echo "# exclude tests that crash" >> $excludetestsfile
|
| - echo "$pattern .*TEST_EXITSTATUS=(CRASHED|ABNORMAL)" >> $excludetestsfile
|
| - egrep "$pattern .*TEST_EXITSTATUS=(CRASHED|ABNORMAL)" failures.txt | \
|
| + egrep "$pattern .*TEST_EXITSTATUS=[^,]*(CRASHED|ABNORMAL)[^,]*" failures.txt | \
|
| sed 's/.*TEST_ID=\([^,]*\),.*/\1/' | sort -u >> $excludetestsfile
|
|
|
| fi
|
| @@ -406,25 +402,45 @@
|
| if ! grep -q $jsfile $excludetestsfile; then
|
|
|
| version=`shellfileversion $jsfile`
|
| -
|
| +
|
| subsuitetestdir=`dirname $jsfile`
|
| suitetestdir=`dirname $subsuitetestdir`
|
| echo "JavaScriptTest: Begin Test $jsfile"
|
| - if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
|
| - $EXECUTABLE_DRIVER \
|
| - $executable -v $version \
|
| - -S 524288 \
|
| - $gczealshell \
|
| - $splitobjects \
|
| - $jit \
|
| - -f ./shell.js \
|
| - -f $suitetestdir/shell.js \
|
| - -f $subsuitetestdir/shell.js \
|
| - -f ./$jsfile \
|
| - -f ./js-test-driver-end.js; then
|
| - true
|
| + if [[ -z "$NARCISSUS" ]]; then
|
| + if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
|
| + $EXECUTABLE_DRIVER \
|
| + $executable -v $version \
|
| + -S 524288 \
|
| + $gczealshell \
|
| + $splitobjects \
|
| + $jitshell \
|
| + -f ./shell.js \
|
| + -f $suitetestdir/shell.js \
|
| + -f $subsuitetestdir/shell.js \
|
| + -f ./$jsfile \
|
| + -f ./js-test-driver-end.js; then
|
| + true
|
| + else
|
| + rc=$?
|
| + fi
|
| else
|
| - rc=$?
|
| + if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
|
| + $EXECUTABLE_DRIVER \
|
| + $executable -v $version \
|
| + -S 524288 \
|
| + $gczealshell \
|
| + $splitobjects \
|
| + $jitshell \
|
| + -f $NARCISSUS \
|
| + -e "evaluate\(\'load\(\\\"./shell.js\\\"\)\'\)" \
|
| + -e "evaluate\(\'load\(\\\"$suitetestdir/shell.js\\\"\)\'\)" \
|
| + -e "evaluate\(\'load\(\\\"$subsuitetestdir/shell.js\\\"\)\'\)" \
|
| + -e "evaluate\(\'load\(\\\"./$jsfile\\\"\)\'\)" \
|
| + -e "evaluate\(\'load\(\\\"./js-test-driver-end.js\\\"\)\'\)"; then
|
| + true
|
| + else
|
| + rc=$?
|
| + fi
|
| fi
|
| if [[ $rc == 99 ]]; then
|
| # note that this loop is executing in a sub-process
|
| @@ -468,9 +484,9 @@
|
| if ! grep -q $jsfile $excludetestsfile; then
|
|
|
| version=";version=`browserfileversion $jsfile`"
|
| -
|
| - echo "http://$TEST_HTTP/$TEST_WWW_JS/js-test-driver-standards.html?test=$jsfile;language=type;text/javascript$version$gczealbrowser" >> $urllist
|
| - echo "<li><a href='http://$TEST_HTTP/$TEST_WWW_JS/js-test-driver-standards.html?test=$jsfile;language=type;text/javascript$version$gczealbrowser'>$jsfile</a></li>" >> $urlhtml
|
| +
|
| + echo "http://$TEST_HTTP/$TEST_WWW_JS/js-test-driver-standards.html?test=$jsfile;language=type;text/javascript$version$gczealbrowser$jitbrowser" >> $urllist
|
| + echo "<li><a href='http://$TEST_HTTP/$TEST_WWW_JS/js-test-driver-standards.html?test=$jsfile;language=type;text/javascript$version$gczealbrowser$jitbrowser'>$jsfile</a></li>" >> $urlhtml
|
| fi
|
| done
|
|
|
| @@ -484,8 +500,8 @@
|
|
|
| if [[ -z "$filesonly" ]]; then
|
| echo "JavaScriptTest: Begin Run"
|
| - cat "$urllist" | while read url;
|
| - do
|
| + cat "$urllist" | while read url;
|
| + do
|
| edit-talkback.sh -p "$product" -b "$branch" -x "$executablepath" -i "$url"
|
| jsfile=`echo $url | sed "s|http://$TEST_HTTP/$TEST_WWW_JS/js-test-driver-standards.html?test=\([^;]*\);.*|\1|"`
|
| echo "JavaScriptTest: Begin Test $jsfile"
|
|
|