JavaScriptCore/tests/mozilla/mkhtml.pl
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     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