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 |