diff options
Diffstat (limited to 'Source/JavaScriptCore/tests/mozilla/mkhtml.pl')
-rw-r--r-- | Source/JavaScriptCore/tests/mozilla/mkhtml.pl | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/tests/mozilla/mkhtml.pl b/Source/JavaScriptCore/tests/mozilla/mkhtml.pl new file mode 100644 index 0000000..99cb2c5 --- /dev/null +++ b/Source/JavaScriptCore/tests/mozilla/mkhtml.pl @@ -0,0 +1,84 @@ +#!/ns/tools/bin/perl5 + +# mkhtml.pl cruises through your $MOZ_SRC/mozilla/js/tests/ subdirectories, +# and for any .js file it finds, creates an HTML file that includes: +# $MOZ_SRC/mozilla/js/tests/$suite/shell.js, $ +# MOZ_SRC/mozilla/js/tests/$suite/browser.js, +# and the test.js file. +# +# + +$moz_src = $ENV{"MOZ_SRC"} || + die ("You need to set your MOZ_SRC environment variable.\n"); + +$test_home = $moz_src ."/js/tests/"; + +opendir (TEST_HOME, $test_home); +@__suites = readdir (TEST_HOME); +closedir TEST_HOME; + +foreach (@__suites ) { + if ( -d $_ && $_ !~ /\./ && $_ !~ 'CVS' ) { + $suites[$#suites+1] = $_; + } +} +if ( ! $ARGV[0] ) { + die ( "Specify a directory: ". join(" ", @suites) ."\n" ); +} + +$js_test_dir = $moz_src . "/js/tests/" . $ARGV[0] ."/"; + +print "Generating html files for the tests in $js_test_dir\n"; + +$shell_js = $js_test_dir . "shell.js"; +$browser_js = $js_test_dir . "browser.js"; + +# cd to the test directory +chdir $js_test_dir || + die "Couldn't chdir to js_test_dir, which is $js_test_dir\n"; + +print ( "js_test_dir is $js_test_dir\n" ); + +# read the test directory +opendir ( JS_TEST_DIR, $js_test_dir ); +# || die "Couldn't open js_test_dir, which is $js_test_dir\n"; +@js_test_dir_items = readdir( JS_TEST_DIR ); +# || die "Couldn't read js_test_dir, which is $js_test_dir\n"; +closedir( JS_TEST_DIR ); + +print ("The js_test_dir_items are: " . join( ",", @js_test_dir_items ) . "\n"); + +# figure out which of the items are directories +foreach $js_test_subdir ( @js_test_dir_items ) { + if ( -d $js_test_subdir ) { + + $js_test_subdir = $js_test_dir ."/" . $js_test_subdir; + chdir $js_test_subdir + || die "Couldn't chdir to js_test_subdir $js_test_subdir\n"; + print "Just chdir'd to $js_test_subdir \n"; + + opendir( JS_TEST_SUBDIR, $js_test_subdir ); + @subdir_tests = readdir( JS_TEST_SUBDIR ); + closedir( JS_TEST_SUBDIR ); + + foreach ( @subdir_tests ) { + $js_test = $_; + + if ( $_ =~ /\.js$/ ) { + s/\.js$/\.html/; + print $_ ."\n"; + open( HTML_TEST, "> $_") + || die "Can't open html file $test_html\n"; + print HTML_TEST + '<script src=./../shell.js></script>'; + print HTML_TEST + '<script src=./../browser.js></script>'; + print HTML_TEST + '<script src=./' . $js_test. '></script>'; + close HTML_TEST; + } + } + } + chdir $js_test_dir; +} + |