Try using POSIX::getcwd to find the working directory wherever it exists.
authorPaul Smith <psmith@gnu.org>
Wed, 31 Aug 2005 13:38:17 +0000 (13:38 +0000)
committerPaul Smith <psmith@gnu.org>
Wed, 31 Aug 2005 13:38:17 +0000 (13:38 +0000)
This should help the tests run more accurately on Windows (hopefully...)

tests/ChangeLog
tests/run_make_tests.pl

index 5e1f948..594361f 100644 (file)
@@ -1,3 +1,11 @@
+2005-08-31  Paul D. Smith  <psmith@gnu.org>
+
+       * run_make_tests.pl (get_this_pwd): Require the POSIX module (in
+       an eval to trap errors) and if it exists, use POSIX::getcwd to
+       find the working directory.  If it doesn't exist, go back to the
+       previous methods.  This tries to be more accurate on Windows
+       systems.
+
 2005-08-29  Paul D. Smith  <psmith@gnu.org>
 
        * scripts/functions/abspath: Add some text to the error messages
index ca711b2..66be520 100755 (executable)
@@ -16,6 +16,9 @@ $pure_log = undef;
 
 require "test_driver.pl";
 
+# Some target systems might not have the POSIX module...
+$has_POSIX = eval { require "POSIX.pm" };
+
 #$SIG{INT} = sub { print STDERR "Caught a signal!\n"; die @_; };
 
 sub valid_option
@@ -180,12 +183,14 @@ sub print_help
 }
 
 sub get_this_pwd {
-  if ($vos) {
+  $delete_command = "rm";
+  if ($has_POSIX) {
+    $__pwd = POSIX::getcwd();
+  } elsif ($vos) {
     $delete_command = "delete_file";
     $__pwd = `++(current_dir)`;
-  }
-  else {
-    $delete_command = "rm";
+  } else {
+    # No idea... just try using pwd as a last resort.
     chop ($__pwd = `pwd`);
   }
 
@@ -303,8 +308,6 @@ sub set_more_defaults
    # Set up for valgrind, if requested.
 
    if ($valgrind) {
-#     use POSIX qw(:fcntl_h);
-#     require Fcntl;
      open(VALGRIND, "> valgrind.out")
        || die "Cannot open valgrind.out: $!\n";
      #  -q --leak-check=yes