OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/perl |
| 2 # |
| 3 # Copyright (C) 2007-2007, International Business Machines |
| 4 # Corporation and others. All Rights Reserved. |
| 5 # |
| 6 |
| 7 if ($ARGV[0] eq '-h' || $ARGV[0] eq '--help') { |
| 8 print "Usage: tzone [year month day hour minute]\n"; |
| 9 exit(0); |
| 10 } |
| 11 |
| 12 my $LIBRARY = '../../lib'; |
| 13 |
| 14 my @TZONE_RAW = `locate zoneinfo | grep '^/usr/share/zoneinfo/' | grep -v 'tab\$
' | grep -v '/right/' | grep -v '/posix/' | grep -v '/posixrules\$' | grep -v '/
Factory\$'`; |
| 15 my @TZONE; |
| 16 my $index = 0; |
| 17 my $USECURRENT = 0; |
| 18 my $year = 0; |
| 19 my $month = 0; |
| 20 my $day = 0; |
| 21 my $hour = 0; |
| 22 my $minute = 0; |
| 23 |
| 24 |
| 25 if (scalar(@ARGV) == 5) { |
| 26 ($year, $month, $day, $hour, $minute) = @ARGV; |
| 27 print "The date we are using is: $month-$day-$year $hour:$minute.\n"; |
| 28 } else { |
| 29 print "We are using the current date.\n"; |
| 30 $USECURRENT = 1; |
| 31 } |
| 32 |
| 33 #filter out the time zones |
| 34 foreach my $tzone (@TZONE_RAW) { |
| 35 chomp($tzone); |
| 36 if (-e $tzone) { |
| 37 $TZONE[$index] = substr($tzone, 20); |
| 38 $index++; |
| 39 } |
| 40 } |
| 41 |
| 42 #go through each timezone and test |
| 43 $count = 0; |
| 44 $ENV{'LD_LIBRARY_PATH'} = $LIBRARY; |
| 45 |
| 46 print "The following time zones had wrong results.\n"; |
| 47 |
| 48 foreach my $tzone (@TZONE) { |
| 49 #set system time zone |
| 50 $ENV{'TZ'} = "$tzone"; |
| 51 |
| 52 my @result = `./tzdate $year $month $day $hour $minute $USECURRENT`; |
| 53 |
| 54 #if the result is wrong print the time zone information to a log file |
| 55 if (scalar(@result) > 0) { |
| 56 print "\nTIME ZONE: $tzone\n"; |
| 57 print "@result\n"; |
| 58 $count++; |
| 59 } |
| 60 } |
| 61 |
| 62 print "\nThe number of time zones with wrong results: $count out of $index\n"; |
| 63 |
| 64 print("\n\nGood Bye!\n"); |
| 65 exit(0); |
OLD | NEW |