darin | cd553de | 2003-10-13 02:05:37 +0000 | [diff] [blame] | 1 | #!/ns/tools/bin/perl5 |
| 2 | |
| 3 | # mkhtml.pl cruises through your $MOZ_SRC/mozilla/js/tests/ subdirectories, |
| 4 | # and for any .js file it finds, creates an HTML file that includes: |
| 5 | # $MOZ_SRC/mozilla/js/tests/$suite/shell.js, $ |
| 6 | # MOZ_SRC/mozilla/js/tests/$suite/browser.js, |
| 7 | # and the test.js file. |
| 8 | # |
| 9 | # |
| 10 | |
| 11 | $moz_src = $ENV{"MOZ_SRC"} || |
| 12 | die ("You need to set your MOZ_SRC environment variable.\n"); |
| 13 | |
| 14 | $test_home = $moz_src ."/js/tests/"; |
| 15 | |
| 16 | opendir (TEST_HOME, $test_home); |
| 17 | @__suites = readdir (TEST_HOME); |
| 18 | closedir TEST_HOME; |
| 19 | |
| 20 | foreach (@__suites ) { |
| 21 | if ( -d $_ && $_ !~ /\./ && $_ !~ 'CVS' ) { |
| 22 | $suites[$#suites+1] = $_; |
| 23 | } |
| 24 | } |
| 25 | if ( ! $ARGV[0] ) { |
| 26 | die ( "Specify a directory: ". join(" ", @suites) ."\n" ); |
| 27 | } |
| 28 | |
| 29 | $js_test_dir = $moz_src . "/js/tests/" . $ARGV[0] ."/"; |
| 30 | |
| 31 | print "Generating html files for the tests in $js_test_dir\n"; |
| 32 | |
| 33 | $shell_js = $js_test_dir . "shell.js"; |
| 34 | $browser_js = $js_test_dir . "browser.js"; |
| 35 | |
| 36 | # cd to the test directory |
| 37 | chdir $js_test_dir || |
| 38 | die "Couldn't chdir to js_test_dir, which is $js_test_dir\n"; |
| 39 | |
| 40 | print ( "js_test_dir is $js_test_dir\n" ); |
| 41 | |
| 42 | # read the test directory |
| 43 | opendir ( JS_TEST_DIR, $js_test_dir ); |
| 44 | # || die "Couldn't open js_test_dir, which is $js_test_dir\n"; |
| 45 | @js_test_dir_items = readdir( JS_TEST_DIR ); |
| 46 | # || die "Couldn't read js_test_dir, which is $js_test_dir\n"; |
| 47 | closedir( JS_TEST_DIR ); |
| 48 | |
| 49 | print ("The js_test_dir_items are: " . join( ",", @js_test_dir_items ) . "\n"); |
| 50 | |
| 51 | # figure out which of the items are directories |
| 52 | foreach $js_test_subdir ( @js_test_dir_items ) { |
| 53 | if ( -d $js_test_subdir ) { |
| 54 | |
| 55 | $js_test_subdir = $js_test_dir ."/" . $js_test_subdir; |
| 56 | chdir $js_test_subdir |
| 57 | || die "Couldn't chdir to js_test_subdir $js_test_subdir\n"; |
| 58 | print "Just chdir'd to $js_test_subdir \n"; |
| 59 | |
| 60 | opendir( JS_TEST_SUBDIR, $js_test_subdir ); |
| 61 | @subdir_tests = readdir( JS_TEST_SUBDIR ); |
| 62 | closedir( JS_TEST_SUBDIR ); |
| 63 | |
| 64 | foreach ( @subdir_tests ) { |
| 65 | $js_test = $_; |
| 66 | |
| 67 | if ( $_ =~ /\.js$/ ) { |
| 68 | s/\.js$/\.html/; |
| 69 | print $_ ."\n"; |
| 70 | open( HTML_TEST, "> $_") |
| 71 | || die "Can't open html file $test_html\n"; |
| 72 | print HTML_TEST |
| 73 | '<script src=./../shell.js></script>'; |
| 74 | print HTML_TEST |
| 75 | '<script src=./../browser.js></script>'; |
| 76 | print HTML_TEST |
| 77 | '<script src=./' . $js_test. '></script>'; |
| 78 | close HTML_TEST; |
| 79 | } |
| 80 | } |
| 81 | } |
| 82 | chdir $js_test_dir; |
| 83 | } |
| 84 | |