]>
Commit | Line | Data |
---|---|---|
b37bf2e1 A |
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 |