www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/08/12/07:14:17

X-Authentication-Warning: sirppi.helsinki.fi: peuha owned process doing -bs
Date: Thu, 12 Aug 1999 13:55:16 +0300 (EET DST)
From: Esa A E Peuha <peuha AT cc DOT helsinki DOT fi>
Sender: peuha AT cc DOT helsinki DOT fi
To: djgpp-workers AT delorie DOT com
Subject: Re: Make 3.78 is in pretest
In-Reply-To: <Pine.SUN.3.91.990725115706.27488b@is>
Message-ID: <Pine.OSF.4.03.9908121312070.9534-100000@sirppi.helsinki.fi>
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sun, 25 Jul 1999, Eli Zaretskii <eliz AT is DOT elta DOT co DOT il> wrote:

> Btw, the above place has a test suite for Make, but I never had time
> to see if it works with the DJGPP version (it probably doesn't) and
> get it to work.  If somebody wants to work on that, it would make
> testing new releases more reliable.  The test suite needs Perl.

I have managed to make the test driver and most of the tests to work with
DJGPP, but I have only run it on plain DOS with Make 3.77, in which case
the following 24 tests fail:

features/default_names
features/errors
features/escape
features/include
features/parallelism
features/quoting
features/recursion
features/reinvoke
features/targetvars
features/vpathplus
functions/call
functions/error
functions/warning
functions/wildcard
misc/general3
options/dash-e
options/dash-I
options/dash-l
options/dash-n
targets/DEFAULT
targets/INTERMEDIATE
variables/flavors
variables/MAKE
variables/MAKELEVEL

Some of these are expected to fail (like the parallel processing test),
some probably need Make 3.78, and some seem like genuine bugs in the ported
Make 3.77 (one subtest of features/escape actually crashes Make).  The
following diffs are relative to the package available at this URL:

   ftp://alpha.gnu.org/gnu/make/make-test-3.77.90.tar.gz

diff -C 2 -r make-test-3.77-90/run_make maketest/run_make
*** make-test-3.77-90/run_make	Tue Jul 20 16:03:08 1999
--- maketest/run_make	Thu Aug 12 07:59:36 1999
***************
*** 141,151 ****
  
     $testee_version = $string;
!    if ($make_path =~ /$pathsep([^\n$pathsep]*)$/)
     {
!       $make_name = $1;
     }
     else
     {
!       $make_name = $make_path;
     }
  
--- 141,165 ----
  
     $testee_version = $string;
! 
!    &attach_default_output ("makename.tmp");
!    $code = system "$make_path -f /dev/null";
!    &detach_default_output;
!    $string = &read_file_into_string ("makename.tmp");
!    unlink ("makename.tmp");
!    $index = index ($string, ": *** No targets.  Stop.");
!    if ($index > 0)
     {
!       $make_name = substr ($string, 0, $index);
     }
     else
     {
!       if ($make_path =~ /$pathsep([^\n$pathsep]*)$/)
!       {
!          $make_name = $1;
!       }
!       else
!       {
!          $make_name = $make_path;
!       }
     }
  
diff -C 2 -r make-test-3.77-90/scripts/features/echoing maketest/scripts/features/echoing
*** make-test-3.77-90/scripts/features/echoing	Sun Apr 30 06:56:50 1995
--- maketest/scripts/features/echoing	Wed Aug 11 20:05:24 1999
***************
*** 47,51 ****
  &run_make_with_options($makefile,"",&get_logfile,0);
  $answer = "echo This makefile did not clean the dir ... good\n"
!          ."This makefile did not clean the dir ... good\n";
  &compare_output($answer,&get_logfile(1));
  
--- 47,51 ----
  &run_make_with_options($makefile,"",&get_logfile,0);
  $answer = "echo This makefile did not clean the dir ... good\n"
!          .`echo This makefile did not clean the dir ... good`;
  &compare_output($answer,&get_logfile(1));
  
***************
*** 75,79 ****
  
  &run_make_with_options($makefile,"-s",&get_logfile,0);
! $answer = "This makefile did not clean the dir ... good\n";
  &compare_output($answer,&get_logfile(1)); 
  
--- 75,79 ----
  
  &run_make_with_options($makefile,"-s",&get_logfile,0);
! $answer = `echo This makefile did not clean the dir ... good`;
  &compare_output($answer,&get_logfile(1)); 
  
diff -C 2 -r make-test-3.77-90/scripts/targets/clean maketest/scripts/targets/clean
*** make-test-3.77-90/scripts/targets/clean	Sun Apr 30 06:49:44 1995
--- maketest/scripts/targets/clean	Wed Aug 11 20:04:50 1999
***************
*** 25,29 ****
  
  # Create the answer to what should be produced by this Makefile
! $answer = "This makefile did not clean the dir ... good\n";
  
  &compare_output($answer,&get_logfile(1)) || &error ("abort
--- 25,29 ----
  
  # Create the answer to what should be produced by this Makefile
! $answer = `echo This makefile did not clean the dir ... good`;
  
  &compare_output($answer,&get_logfile(1)) || &error ("abort
diff -C 2 -r make-test-3.77-90/test_dri.pl maketest/test_dri.pl
*** make-test-3.77-90/test_dri.pl	Mon Jul 19 20:39:10 1999
--- maketest/test_dri.pl	Thu Aug 12 08:13:50 1999
***************
*** 33,37 ****
    $workdir = "work";          # The directory where the test will start running
    $scriptdir = "scripts";     # The directory where we find the test scripts
-   $tmpfilesuffix = "tmp";     # the suffix used on tmpfiles
    $default_output_stack_level = 0;  # used by attach_default_output, etc.
    $default_input_stack_level = 0;   # used by attach_default_input, etc.
--- 33,36 ----
***************
*** 39,45 ****
    $cwdslash = "";             # $cwd . $pathsep, but "" rather than "./"
  
!   &get_osname;  # sets $osname, $vos, and $pathsep
    print "OS name = `$osname'\n" if $debug;
  
    &set_defaults;  # suite-defined
  
--- 38,53 ----
    $cwdslash = "";             # $cwd . $pathsep, but "" rather than "./"
  
!   &get_osname;  # sets $osname, $vos, $pathsep, and $fancy_file_names
    print "OS name = `$osname'\n" if $debug;
  
+   if ($fancy_file_names)
+   {
+     $tmpfilesuffix = "tmp";     # the suffix used on tmpfiles
+   }
+   else
+   {
+     $tmpfilesuffix = "t";
+   }
+ 
    &set_defaults;  # suite-defined
  
***************
*** 147,162 ****
    $osname = defined($^O) ? $^O : '';
  
!   # Thanks go to meyering AT cs DOT utexas DOT edu (Jim Meyering) for suggesting a
!   # better way of doing this.  (We used to test for existence of a /mnt
!   # dir, but that apparently fails on an SGI Indigo (whatever that is).)
!   # Because perl on VOS translates /'s to >'s, we need to test for
!   # VOSness rather than testing for Unixness (ie, try > instead of /).
! 
!   mkdir (".ostest", 0777) || &error ("Couldn't create .ostest: $!\n", 1);
!   (open (TOUCHFD, "> .ostest>ick") && close (TOUCHFD))
!                || &error ("Couldn't touch .ostest>ick: $!\n", 1);
!   chdir (".ostest") || &error ("Couldn't chdir to .ostest: $!\n", 1);
  
!   if (-f "ick")
    {
      $osname = "vos";
--- 155,178 ----
    $osname = defined($^O) ? $^O : '';
  
!   $fancy_file_names = 1;
!   (open (TOUCHFD, "> fancy.file.name") && close (TOUCHFD))
!       || ($fancy_file_names = 0);
!   unlink ("fancy.file.name") || ($fancy_file_names = 0);
! 
!   if ($fancy_file_names)
!   {
!     # Thanks go to meyering AT cs DOT utexas DOT edu (Jim Meyering) for suggesting a
!     # better way of doing this.  (We used to test for existence of a /mnt
!     # dir, but that apparently fails on an SGI Indigo (whatever that is).)
!     # Because perl on VOS translates /'s to >'s, we need to test for
!     # VOSness rather than testing for Unixness (ie, try > instead of /).
! 
!     mkdir (".ostest", 0777) || &error ("Couldn't create .ostest: $!\n", 1);
!     (open (TOUCHFD, "> .ostest>ick") && close (TOUCHFD))
!                  || &error ("Couldn't touch .ostest>ick: $!\n", 1);
!     chdir (".ostest") || &error ("Couldn't chdir to .ostest: $!\n", 1);
!   }
  
!   if ($fancy_file_names && -f "ick")
    {
      $osname = "vos";
***************
*** 187,193 ****
    }
  
!   chdir ("..") || &error ("Couldn't chdir to ..: $!\n", 1);
!   unlink (".ostest>ick");
!   rmdir (".ostest") || &error ("Couldn't rmdir .ostest: $!\n", 1);
  }
  
--- 203,212 ----
    }
  
!   if ($fancy_file_names)
!   {
!     chdir ("..") || &error ("Couldn't chdir to ..: $!\n", 1);
!     unlink (".ostest>ick");
!     rmdir (".ostest") || &error ("Couldn't rmdir .ostest: $!\n", 1);
!   }
  }
  
***************
*** 327,333 ****
      $testname =~ s/(\.pl|\.perl)$//;
      $testpath = "$workpath$pathsep$testname";
!     $log_filename = "$testpath.log";
!     $diff_filename = "$testpath.diff";
!     $base_filename = "$testpath.base";
      $tmp_filename = "$testpath.$tmpfilesuffix";
  
--- 346,361 ----
      $testname =~ s/(\.pl|\.perl)$//;
      $testpath = "$workpath$pathsep$testname";
!     if ($fancy_file_names)
!     {
!       $log_filename = "$testpath.log";
!       $diff_filename = "$testpath.diff";
!       $base_filename = "$testpath.base";
!     }
!     else
!     {
!       $log_filename = "$testpath.l";
!       $diff_filename = "$testpath.d";
!       $base_filename = "$testpath.b";
!     }
      $tmp_filename = "$testpath.$tmpfilesuffix";
  
***************
*** 969,973 ****
    if (--$num > 0)
    {
!     return ".$num";
    }
  
--- 997,1008 ----
    if (--$num > 0)
    {
!     if ($fancy_file_names)
!     {
!       return ".$num";
!     }
!     else
!     {
!       return "$num";
!     }
    }
  
-- 
Esa Peuha
student of mathematics at the University of Helsinki
http://www.helsinki.fi/~peuha/



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019