| OLD | NEW |
| 1 #!/bin/bash -e | 1 #!/bin/bash -e |
| 2 # -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*- | 2 # -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*- |
| 3 | 3 |
| 4 # ***** BEGIN LICENSE BLOCK ***** | 4 # ***** BEGIN LICENSE BLOCK ***** |
| 5 # Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 5 # Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| 6 # | 6 # |
| 7 # The contents of this file are subject to the Mozilla Public License Version | 7 # The contents of this file are subject to the Mozilla Public License Version |
| 8 # 1.1 (the "License"); you may not use this file except in compliance with | 8 # 1.1 (the "License"); you may not use this file except in compliance with |
| 9 # the License. You may obtain a copy of the License at | 9 # the License. You may obtain a copy of the License at |
| 10 # http://www.mozilla.org/MPL/ | 10 # http://www.mozilla.org/MPL/ |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 # and other provisions required by the GPL or the LGPL. If you do not delete | 34 # and other provisions required by the GPL or the LGPL. If you do not delete |
| 35 # the provisions above, a recipient may use your version of this file under | 35 # the provisions above, a recipient may use your version of this file under |
| 36 # the terms of any one of the MPL, the GPL or the LGPL. | 36 # the terms of any one of the MPL, the GPL or the LGPL. |
| 37 # | 37 # |
| 38 # ***** END LICENSE BLOCK ***** | 38 # ***** END LICENSE BLOCK ***** |
| 39 | 39 |
| 40 if [[ -z "$TEST_DIR" ]]; then | 40 if [[ -z "$TEST_DIR" ]]; then |
| 41 cat <<EOF | 41 cat <<EOF |
| 42 `basename $0`: error | 42 `basename $0`: error |
| 43 | 43 |
| 44 TEST_DIR, the location of the Sisyphus framework, | 44 TEST_DIR, the location of the Sisyphus framework, |
| 45 is required to be set prior to calling this script. | 45 is required to be set prior to calling this script. |
| 46 EOF | 46 EOF |
| 47 exit 2 | 47 exit 2 |
| 48 fi | 48 fi |
| 49 | 49 |
| 50 if [[ ! -e $TEST_DIR/bin/library.sh ]]; then | 50 if [[ ! -e $TEST_DIR/bin/library.sh ]]; then |
| 51 echo "TEST_DIR=$TEST_DIR" | 51 echo "TEST_DIR=$TEST_DIR" |
| 52 echo "" | 52 echo "" |
| 53 echo "This script requires the Sisyphus testing framework. Please " | 53 echo "This script requires the Sisyphus testing framework. Please " |
| 54 echo "cvs check out the Sisyphys framework from mozilla/testing/sisyphus" | 54 echo "cvs check out the Sisyphys framework from mozilla/testing/sisyphus" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 73 # options processing | 73 # options processing |
| 74 # | 74 # |
| 75 usage() | 75 usage() |
| 76 { | 76 { |
| 77 cat <<EOF | 77 cat <<EOF |
| 78 usage: test.sh -p product -b branch -T buildtype -x executablepath -N profilenam
e \\ | 78 usage: test.sh -p product -b branch -T buildtype -x executablepath -N profilenam
e \\ |
| 79 [-X excludetests] [-I includetests] [-c] [-t] [-F] [-d datafiles] | 79 [-X excludetests] [-I includetests] [-c] [-t] [-F] [-d datafiles] |
| 80 | 80 |
| 81 variable description | 81 variable description |
| 82 =============== ============================================================ | 82 =============== ============================================================ |
| 83 -p product required. firefox|thunderbird|js | 83 -p product required. firefox|thunderbird|js|fennec |
| 84 -b branch required. 1.8.0|1.8.1|1.9.0|1.9.1 | 84 -b branch required. one of supported branches. see library.sh. |
| 85 -s jsshellsourcepath required for shell. path to js shell source directory
mozilla/js/src | 85 -s jsshellsourcepath required for shell. path to js shell source directory
mozilla/js/src |
| 86 -T buildtype required. one of opt debug | 86 -T buildtype required. one of opt debug |
| 87 -x executablepath required for browser. directory-tree containing executable '
product' | 87 -x executablepath required for browser. directory-tree containing executable '
product' |
| 88 -N profilename required for browser. profile name | 88 -N profilename required for browser. profile name |
| 89 -X excludetests optional. By default the test will exclude the | 89 -X excludetests optional. By default the test will exclude the |
| 90 tests listed in spidermonkey-n-\$branch.tests, | 90 tests listed in spidermonkey-n-\$branch.tests, |
| 91 performance-\$branch.tests. excludetests is a list of either | 91 performance-\$branch.tests. excludetests is a list of either |
| 92 individual tests, manifest files or sub-directories which | 92 individual tests, manifest files or sub-directories which |
| 93 will override the default exclusion list. | 93 will override the default exclusion list. |
| 94 -I includetests optional. By default the test will include the | 94 -I includetests optional. By default the test will include the |
| 95 JavaScript tests appropriate for the branch. includetests is
a | 95 JavaScript tests appropriate for the branch. includetests is
a |
| 96 list of either individual tests, manifest files or | 96 list of either individual tests, manifest files or |
| 97 sub-directories which will override the default inclusion | 97 sub-directories which will override the default inclusion |
| 98 list. | 98 list. |
| 99 -c optional. By default the test will exclude tests | 99 -c optional. By default the test will exclude tests |
| 100 which crash on this branch, test type, build type and | 100 which crash on this branch, test type, build type and |
| 101 operating system. -c will include tests which crash. | 101 operating system. -c will include tests which crash. |
| 102 Typically this should only be used in combination with -R. | 102 Typically this should only be used in combination with -R. |
| 103 This has no effect on shell based tests which execute crash | 103 This has no effect on shell based tests which execute crash |
| 104 tests regardless. | 104 tests regardless. |
| 105 -t optional. By default the test will exclude tests | 105 -t optional. By default the test will exclude tests |
| 106 which time out on this branch, test type, build type and | 106 which time out on this branch, test type, build type and |
| 107 operating system. -t will include tests which timeout. | 107 operating system. -t will include tests which timeout. |
| 108 -J jsoptions optional. Set JavaScript options: | 108 -J jsoptions optional. Set JavaScript options: |
| 109 -Z n Set gczeal to n. Currently, only valid for | 109 -Z n Set gczeal to n. Currently, only valid for |
| 110 debug builds of Gecko 1.8.1.15, 1.9.0 and later. | 110 debug builds of Gecko 1.8.1.15, 1.9.0 and later. |
| 111 -z optional. use split objects in the shell. | 111 -z optional. use split objects in the shell. |
| 112 -j optional. use JIT in the shell. Only available on 1.9.1 a
nd later | 112 -j optional. use JIT in the shell. Only available on 1.9.1 a
nd later |
| 113 -F optional. Just generate file lists without running any tests
. | 113 -F optional. Just generate file lists without running any tests
. |
| 114 -d datafiles optional. one or more filenames of files containing | 114 -d datafiles optional. one or more filenames of files containing |
| 115 environment variable definitions to be included. | 115 environment variable definitions to be included. |
| 116 | 116 |
| 117 note that the environment variables should have the same | 117 note that the environment variables should have the same |
| 118 names as in the "variable" column. | 118 names as in the "variable" column. |
| 119 | 119 |
| 120 if an argument contains more than one value, it must be quoted. | 120 if an argument contains more than one value, it must be quoted. |
| 121 EOF | 121 EOF |
| 122 exit 2 | 122 exit 2 |
| 123 } | 123 } |
| 124 | 124 |
| 125 while getopts "p:b:s:T:x:N:d:X:I:J:RctF" optname | 125 while getopts "p:b:s:T:x:N:d:X:I:J:RctF" optname |
| 126 do | 126 do |
| 127 case $optname in | 127 case $optname in |
| 128 p) | 128 p) |
| 129 product=$OPTARG;; | 129 product=$OPTARG;; |
| 130 b) | 130 b) |
| 131 branch=$OPTARG;; | 131 branch=$OPTARG;; |
| 132 T) | 132 T) |
| 133 buildtype=$OPTARG;; | 133 buildtype=$OPTARG;; |
| 134 s) | 134 s) |
| 135 jsshellsourcepath=$OPTARG;; | 135 jsshellsourcepath=$OPTARG;; |
| 136 N) | 136 N) |
| 137 profilename=$OPTARG;; | 137 profilename=$OPTARG;; |
| 138 x) | 138 x) |
| 139 executablepath=$OPTARG;; | 139 executablepath=$OPTARG;; |
| 140 X) | 140 X) |
| 141 excludetests=$OPTARG;; | 141 excludetests=$OPTARG;; |
| 142 I) | 142 I) |
| 143 includetests=$OPTARG;; | 143 includetests=$OPTARG;; |
| 144 c) | 144 c) |
| 145 crashes=1;; | 145 crashes=1;; |
| 146 t) | 146 t) |
| 147 timeouts=1;; | 147 timeouts=1;; |
| 148 F) | 148 F) |
| 149 filesonly=1;; | 149 filesonly=1;; |
| 150 J) | 150 J) |
| 151 javascriptoptions=$OPTARG | 151 javascriptoptions=$OPTARG |
| 152 ;; | 152 ;; |
| 153 d) datafiles=$OPTARG;; | 153 d) datafiles=$OPTARG;; |
| 154 esac | 154 esac |
| 155 done | 155 done |
| 156 | 156 |
| 157 if [[ -n "$javascriptoptions" ]]; then | 157 if [[ -n "$javascriptoptions" ]]; then |
| 158 unset OPTIND | 158 unset OPTIND |
| 159 while getopts "Z:jz" optname $javascriptoptions; do | 159 while getopts "Z:jz" optname $javascriptoptions; do |
| 160 case $optname in | 160 case $optname in |
| 161 Z) | 161 Z) |
| 162 gczealshell="-Z $OPTARG" | 162 gczealshell="-Z $OPTARG" |
| 163 gczealbrowser=";gczeal=$OPTARG" | 163 gczealbrowser=";gczeal=$OPTARG" |
| 164 ;; | 164 ;; |
| 165 z) | 165 z) |
| 166 splitobjects="-z" | 166 splitobjects="-z" |
| 167 ;; | 167 ;; |
| 168 j) | 168 j) |
| 169 jit="-j" | 169 jitshell="-j" |
| 170 jitbrowser=";jit" |
| 170 ;; | 171 ;; |
| 171 esac | 172 esac |
| 172 done | 173 done |
| 173 fi | 174 fi |
| 174 | 175 |
| 175 # include environment variables | 176 # include environment variables |
| 176 if [[ -n "$datafiles" ]]; then | 177 if [[ -n "$datafiles" ]]; then |
| 177 for datafile in $datafiles; do | 178 for datafile in $datafiles; do |
| 178 source $datafile | 179 source $datafile |
| 179 done | 180 done |
| 180 fi | 181 fi |
| 181 | 182 |
| 182 if [[ -n "$gczeal" && "$buildtype" != "debug" ]]; then | 183 if [[ -n "$gczeal" && "$buildtype" != "debug" ]]; then |
| 183 error "gczeal is supported for buildtype debug and not $buildtype" | 184 error "gczeal is supported for buildtype debug and not $buildtype" |
| 184 fi | 185 fi |
| 185 | 186 |
| 186 dumpvars product branch buildtype jsshellsourcepath profilename executablepath e
xcludetests includetests crashes timeouts filesonly javascriptoptions datafiles
| sed "s|^|arguments: |" | 187 dumpvars product branch buildtype jsshellsourcepath profilename executablepath e
xcludetests includetests crashes timeouts filesonly javascriptoptions datafiles
| sed "s|^|arguments: |" |
| 187 | 188 |
| 188 pushd $TEST_JSDIR | 189 pushd $TEST_JSDIR |
| 189 | 190 |
| 190 case $product in | 191 case $product in |
| 191 js) | 192 js) |
| 192 if [[ -z "$branch" || -z "$buildtype" || -z "$jsshellsourcepath" ]]; th
en | 193 if [[ -z "$branch" || -z "$buildtype" || -z "$jsshellsourcepath" ]]; th
en |
| 193 usage | 194 usage |
| 194 fi | 195 fi |
| 195 source config.sh | 196 source config.sh |
| 196 testtype=shell | 197 testtype=shell |
| 197 executable="$jsshellsourcepath/$JS_OBJDIR/js$EXE_EXT" | 198 executable="$jsshellsourcepath/$JS_OBJDIR/js$EXE_EXT" |
| 198 ;; | 199 ;; |
| 199 | 200 |
| 200 firefox|thunderbird) | 201 firefox|thunderbird|fennec) |
| 201 if [[ -z "$branch" || -z "$buildtype" || -z "$executablepath" || -z "$p
rofilename" ]]; then | 202 if [[ -z "$branch" || -z "$buildtype" || -z "$executablepath" || -z "$p
rofilename" ]]; then |
| 202 usage | 203 usage |
| 203 fi | 204 fi |
| 204 testtype=browser | 205 testtype=browser |
| 205 executable=`get_executable $product $branch $executablepath` | 206 executable=`get_executable $product $branch $executablepath` |
| 206 | 207 |
| 207 ;; | 208 ;; |
| 208 *) | 209 *) |
| 209 echo "Unknown product: $product" | 210 echo "Unknown product: $product" |
| 210 usage | 211 usage |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 fi | 303 fi |
| 303 | 304 |
| 304 includetestsfile="included-$branch-$testtype-$buildtype.tests" | 305 includetestsfile="included-$branch-$testtype-$buildtype.tests" |
| 305 rm -f $includetestsfile | 306 rm -f $includetestsfile |
| 306 touch $includetestsfile | 307 touch $includetestsfile |
| 307 | 308 |
| 308 if [[ -z "$includetests" ]]; then | 309 if [[ -z "$includetests" ]]; then |
| 309 # by default include tests appropriate for the branch | 310 # by default include tests appropriate for the branch |
| 310 includetests="e4x ecma ecma_2 ecma_3 js1_1 js1_2 js1_3 js1_4 js1_5 js1_6" | 311 includetests="e4x ecma ecma_2 ecma_3 js1_1 js1_2 js1_3 js1_4 js1_5 js1_6" |
| 311 | 312 |
| 312 case "$branch" in | 313 case "$branch" in |
| 313 1.8.0) | 314 1.8.0) |
| 314 ;; | 315 ;; |
| 315 1.8.1) | 316 1.8.1) |
| 316 includetests="$includetests js1_7" | 317 includetests="$includetests js1_7" |
| 317 ;; | 318 ;; |
| 318 1.9.0) | 319 1.9.0) |
| 319 includetests="$includetests js1_7 js1_8" | 320 includetests="$includetests js1_7 js1_8" |
| 320 ;; | 321 ;; |
| 321 1.9.1) | 322 1.9.1) |
| 322 includetests="$includetests js1_7 js1_8 ecma_3_1 js1_8_1" | 323 includetests="$includetests js1_7 js1_8 ecma_3_1 js1_8_1" |
| 323 ;; | 324 ;; |
| 325 1.9.2) |
| 326 includetests="$includetests js1_7 js1_8 ecma_3_1 js1_8_1" |
| 327 ;; |
| 328 1.9.3) |
| 329 includetests="$includetests js1_7 js1_8 ecma_3_1 js1_8_1" |
| 330 ;; |
| 324 esac | 331 esac |
| 325 fi | 332 fi |
| 326 | 333 |
| 327 for i in $includetests; do | 334 for i in $includetests; do |
| 328 if [[ -f "$i" ]]; then | 335 if [[ -f "$i" ]]; then |
| 329 echo "# including $i" >> $includetestsfile | 336 echo "# including $i" >> $includetestsfile |
| 330 if echo $i | grep -q '\.js$'; then | 337 if echo $i | grep -q '\.js$'; then |
| 331 echo $i >> $includetestsfile | 338 echo $i >> $includetestsfile |
| 332 else | 339 else |
| 333 cat $i >> $includetestsfile | 340 cat $i >> $includetestsfile |
| (...skipping 17 matching lines...) Expand all Loading... |
| 351 if echo $e | grep -q '\.js$'; then | 358 if echo $e | grep -q '\.js$'; then |
| 352 echo $e >> $excludetestsfile | 359 echo $e >> $excludetestsfile |
| 353 else | 360 else |
| 354 cat $e >> $excludetestsfile | 361 cat $e >> $excludetestsfile |
| 355 fi | 362 fi |
| 356 elif [[ -d "$e" ]]; then | 363 elif [[ -d "$e" ]]; then |
| 357 find $e -name '*.js' -print | egrep -v '(shell|browser|template|jsref|us
erhook.*|\.#.*)\.js' | sed 's/^\.\///' | sort >> $excludetestsfile | 364 find $e -name '*.js' -print | egrep -v '(shell|browser|template|jsref|us
erhook.*|\.#.*)\.js' | sed 's/^\.\///' | sort >> $excludetestsfile |
| 358 fi | 365 fi |
| 359 done | 366 done |
| 360 | 367 |
| 361 # convert the numeric speed rating to a prose value | |
| 362 if [[ $TEST_CPUSPEED -lt 4 ]]; then | |
| 363 TEST_CPUSPEED=slow | |
| 364 elif [[ $TEST_CPUSPEED -lt 9 ]]; then | |
| 365 TEST_CPUSPEED=medium | |
| 366 else | |
| 367 TEST_CPUSPEED=fast | |
| 368 fi | |
| 369 | |
| 370 if [[ -z "$TEST_MOZILLA_HG" ]]; then | 368 if [[ -z "$TEST_MOZILLA_HG" ]]; then |
| 371 repo=CVS | 369 repo=CVS |
| 372 else | 370 else |
| 373 repo=`basename $TEST_MOZILLA_HG` | 371 repo=`basename $TEST_MOZILLA_HG` |
| 374 fi | 372 fi |
| 375 debug "repo=$repo" | 373 debug "repo=$repo" |
| 376 | 374 |
| 377 pattern="TEST_BRANCH=($branch|[.][*]), TEST_REPO=($repo|[.][*]), TEST_BUILDTYPE=
($buildtype|[.][*]), TEST_TYPE=($testtype|[.][*]), TEST_OS=($OSID|[.][*]), TEST_
KERNEL=($TEST_KERNEL|[.][*]), TEST_PROCESSORTYPE=($TEST_PROCESSORTYPE|[.][*]), T
EST_MEMORY=($TEST_MEMORY|[.][*]), TEST_CPUSPEED=($TEST_CPUSPEED|[.][*])," | 375 pattern="TEST_BRANCH=($branch|[.][*]), TEST_REPO=($repo|[.][*]), TEST_BUILDTYPE=
($buildtype|[.][*]), TEST_TYPE=($testtype|[.][*]), TEST_OS=($OSID|[.][*]), TEST_
KERNEL=($TEST_KERNEL|[.][*]), TEST_PROCESSORTYPE=($TEST_PROCESSORTYPE|[.][*]), T
EST_MEMORY=($TEST_MEMORY|[.][*])," |
| 378 | 376 |
| 379 if [[ -z "$timeouts" ]]; then | 377 if [[ -z "$timeouts" ]]; then |
| 380 echo "# exclude tests that time out" >> $excludetestsfile | 378 echo "# exclude tests that time out" >> $excludetestsfile |
| 381 echo "$pattern .*TEST_EXITSTATUS=TIMED OUT," >> $excludetestsfile | 379 egrep "$pattern .*TEST_EXITSTATUS=[^,]*TIMED OUT[^,]*," failures.txt | \ |
| 382 egrep "$pattern .*TEST_EXITSTATUS=TIMED OUT," failures.txt | \ | |
| 383 sed 's/.*TEST_ID=\([^,]*\),.*/\1/' | sort -u >> $excludetestsfile | 380 sed 's/.*TEST_ID=\([^,]*\),.*/\1/' | sort -u >> $excludetestsfile |
| 384 fi | 381 fi |
| 385 | 382 |
| 386 if [[ -z "$crashes" ]]; then | 383 if [[ -z "$crashes" ]]; then |
| 387 echo "# exclude tests that crash" >> $excludetestsfile | 384 echo "# exclude tests that crash" >> $excludetestsfile |
| 388 echo "$pattern .*TEST_EXITSTATUS=(CRASHED|ABNORMAL)" >> $excludetestsfile | 385 egrep "$pattern .*TEST_EXITSTATUS=[^,]*(CRASHED|ABNORMAL)[^,]*" failures.txt
| \ |
| 389 egrep "$pattern .*TEST_EXITSTATUS=(CRASHED|ABNORMAL)" failures.txt | \ | |
| 390 sed 's/.*TEST_ID=\([^,]*\),.*/\1/' | sort -u >> $excludetestsfile | 386 sed 's/.*TEST_ID=\([^,]*\),.*/\1/' | sort -u >> $excludetestsfile |
| 391 | 387 |
| 392 fi | 388 fi |
| 393 | 389 |
| 394 cat $includetestsfile | sed 's|^|include: |' | 390 cat $includetestsfile | sed 's|^|include: |' |
| 395 cat $excludetestsfile | sed 's|^|exclude: |' | 391 cat $excludetestsfile | sed 's|^|exclude: |' |
| 396 | 392 |
| 397 case $testtype in | 393 case $testtype in |
| 398 shell) | 394 shell) |
| 399 echo "JavaScriptTest: Begin Run" | 395 echo "JavaScriptTest: Begin Run" |
| 400 cat $includetestsfile | while read jsfile | 396 cat $includetestsfile | while read jsfile |
| 401 do | 397 do |
| 402 if echo $jsfile | grep -q '^#'; then | 398 if echo $jsfile | grep -q '^#'; then |
| 403 continue | 399 continue |
| 404 fi | 400 fi |
| 405 | 401 |
| 406 if ! grep -q $jsfile $excludetestsfile; then | 402 if ! grep -q $jsfile $excludetestsfile; then |
| 407 | 403 |
| 408 version=`shellfileversion $jsfile` | 404 version=`shellfileversion $jsfile` |
| 409 | 405 |
| 410 subsuitetestdir=`dirname $jsfile` | 406 subsuitetestdir=`dirname $jsfile` |
| 411 suitetestdir=`dirname $subsuitetestdir` | 407 suitetestdir=`dirname $subsuitetestdir` |
| 412 echo "JavaScriptTest: Begin Test $jsfile" | 408 echo "JavaScriptTest: Begin Test $jsfile" |
| 413 if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile
\" \ | 409 if [[ -z "$NARCISSUS" ]]; then |
| 414 $EXECUTABLE_DRIVER \ | 410 if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$js
file\" \ |
| 415 $executable -v $version \ | 411 $EXECUTABLE_DRIVER \ |
| 416 -S 524288 \ | 412 $executable -v $version \ |
| 417 $gczealshell \ | 413 -S 524288 \ |
| 418 $splitobjects \ | 414 $gczealshell \ |
| 419 $jit \ | 415 $splitobjects \ |
| 420 -f ./shell.js \ | 416 $jitshell \ |
| 421 -f $suitetestdir/shell.js \ | 417 -f ./shell.js \ |
| 422 -f $subsuitetestdir/shell.js \ | 418 -f $suitetestdir/shell.js \ |
| 423 -f ./$jsfile \ | 419 -f $subsuitetestdir/shell.js \ |
| 424 -f ./js-test-driver-end.js; then | 420 -f ./$jsfile \ |
| 425 true | 421 -f ./js-test-driver-end.js; then |
| 422 true |
| 423 else |
| 424 rc=$? |
| 425 fi |
| 426 else | 426 else |
| 427 rc=$? | 427 if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$js
file\" \ |
| 428 $EXECUTABLE_DRIVER \ |
| 429 $executable -v $version \ |
| 430 -S 524288 \ |
| 431 $gczealshell \ |
| 432 $splitobjects \ |
| 433 $jitshell \ |
| 434 -f $NARCISSUS \ |
| 435 -e "evaluate\(\'load\(\\\"./shell.js\\\"\)\'\)" \ |
| 436 -e "evaluate\(\'load\(\\\"$suitetestdir/shell.js\\\"\)\'
\)" \ |
| 437 -e "evaluate\(\'load\(\\\"$subsuitetestdir/shell.js\\\"\
)\'\)" \ |
| 438 -e "evaluate\(\'load\(\\\"./$jsfile\\\"\)\'\)" \ |
| 439 -e "evaluate\(\'load\(\\\"./js-test-driver-end.js\\\"\)\
'\)"; then |
| 440 true |
| 441 else |
| 442 rc=$? |
| 443 fi |
| 428 fi | 444 fi |
| 429 if [[ $rc == 99 ]]; then | 445 if [[ $rc == 99 ]]; then |
| 430 # note that this loop is executing in a sub-process | 446 # note that this loop is executing in a sub-process |
| 431 # error will terminate the sub-process but will transfer | 447 # error will terminate the sub-process but will transfer |
| 432 # control to the next statement following the loop which | 448 # control to the next statement following the loop which |
| 433 # in this case is the "End Run" output which incorrectly | 449 # in this case is the "End Run" output which incorrectly |
| 434 # labels the test run as completed. | 450 # labels the test run as completed. |
| 435 error "User Interrupt" | 451 error "User Interrupt" |
| 436 fi | 452 fi |
| 437 echo "JavaScriptTest: End Test $jsfile" | 453 echo "JavaScriptTest: End Test $jsfile" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 461 | 477 |
| 462 cat $includetestsfile | while read jsfile | 478 cat $includetestsfile | while read jsfile |
| 463 do | 479 do |
| 464 if echo $jsfile | grep -q '^#'; then | 480 if echo $jsfile | grep -q '^#'; then |
| 465 continue | 481 continue |
| 466 fi | 482 fi |
| 467 | 483 |
| 468 if ! grep -q $jsfile $excludetestsfile; then | 484 if ! grep -q $jsfile $excludetestsfile; then |
| 469 | 485 |
| 470 version=";version=`browserfileversion $jsfile`" | 486 version=";version=`browserfileversion $jsfile`" |
| 471 | 487 |
| 472 echo "http://$TEST_HTTP/$TEST_WWW_JS/js-test-driver-standards.ht
ml?test=$jsfile;language=type;text/javascript$version$gczealbrowser" >> $urllist | 488 echo "http://$TEST_HTTP/$TEST_WWW_JS/js-test-driver-standards.ht
ml?test=$jsfile;language=type;text/javascript$version$gczealbrowser$jitbrowser"
>> $urllist |
| 473 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 | 489 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 |
| 474 fi | 490 fi |
| 475 done | 491 done |
| 476 | 492 |
| 477 cat >> $urlhtml <<EOF | 493 cat >> $urlhtml <<EOF |
| 478 </ul> | 494 </ul> |
| 479 </body> | 495 </body> |
| 480 </html> | 496 </html> |
| 481 EOF | 497 EOF |
| 482 | 498 |
| 483 chmod a+r $urlhtml | 499 chmod a+r $urlhtml |
| 484 | 500 |
| 485 if [[ -z "$filesonly" ]]; then | 501 if [[ -z "$filesonly" ]]; then |
| 486 echo "JavaScriptTest: Begin Run" | 502 echo "JavaScriptTest: Begin Run" |
| 487 cat "$urllist" | while read url; | 503 cat "$urllist" | while read url; |
| 488 do | 504 do |
| 489 edit-talkback.sh -p "$product" -b "$branch" -x "$executablepath"
-i "$url" | 505 edit-talkback.sh -p "$product" -b "$branch" -x "$executablepath"
-i "$url" |
| 490 jsfile=`echo $url | sed "s|http://$TEST_HTTP/$TEST_WWW_JS/js-tes
t-driver-standards.html?test=\([^;]*\);.*|\1|"` | 506 jsfile=`echo $url | sed "s|http://$TEST_HTTP/$TEST_WWW_JS/js-tes
t-driver-standards.html?test=\([^;]*\);.*|\1|"` |
| 491 echo "JavaScriptTest: Begin Test $jsfile" | 507 echo "JavaScriptTest: Begin Test $jsfile" |
| 492 if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile
\" \ | 508 if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile
\" \ |
| 493 $EXECUTABLE_DRIVER \ | 509 $EXECUTABLE_DRIVER \ |
| 494 \"$executable\" -P \"$profilename\" \ | 510 \"$executable\" -P \"$profilename\" \ |
| 495 -spider -start -quit \ | 511 -spider -start -quit \ |
| 496 -uri \"$url\" \ | 512 -uri \"$url\" \ |
| 497 -depth 0 -timeout \"$TEST_JSEACH_PAGE_TIMEOUT\" \ | 513 -depth 0 -timeout \"$TEST_JSEACH_PAGE_TIMEOUT\" \ |
| 498 -hook \"http://$TEST_HTTP/$TEST_WWW_JS/userhookeach.js\"; th
en | 514 -hook \"http://$TEST_HTTP/$TEST_WWW_JS/userhookeach.js\"; th
en |
| 499 true | 515 true |
| 500 else | 516 else |
| 501 rc=$? | 517 rc=$? |
| 502 fi | 518 fi |
| 503 if [[ $rc == 99 ]]; then | 519 if [[ $rc == 99 ]]; then |
| 504 error "User Interrupt" | 520 error "User Interrupt" |
| 505 fi | 521 fi |
| 506 echo "JavaScriptTest: End Test $jsfile" | 522 echo "JavaScriptTest: End Test $jsfile" |
| 507 done | 523 done |
| 508 echo "JavaScriptTest: End Run" | 524 echo "JavaScriptTest: End Run" |
| 509 fi | 525 fi |
| 510 ;; | 526 ;; |
| 511 *) | 527 *) |
| 512 ;; | 528 ;; |
| 513 esac | 529 esac |
| 514 | 530 |
| 515 popd | 531 popd |
| OLD | NEW |