Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-10 Thread Corinna Vinschen
On Jun  9 14:54, Max Kaehn wrote:
 On Thu, 2005-06-09 at 01:53, Corinna Vinschen wrote:
  On Jun  8 11:44, Max Kaehn wrote:
   I wound up using eval, and was thoroughly perplexed at the way
   that the first eval seems to get thrown away.
  
  -v, please.
  
tcsh sh
$ eval date
Thu Jun  9 10:52:23 WEDT 2005
$
  
  Corinna
 
 (I wasn't sure if you meant -v for version numbers
 or verbose output; I hope what you wanted is somewhere in there.)

I meant please, be more verbose with information.

 fulgurite-xpdbg% make -f /u/cygwin/src/winsup/testsuite/iterate.mak
 results_foo=0
 results_bar=1
 results_baz=2
 results_foo = 
 results_bar = 1
 results_baz = 2
 results_foo = 
 [: 0: unknown operand
 results_bar = 1
 make: *** [all] Error 1

I can reproduce it without having make involved.  It looks like a ash bug.
Oh boy, I didn't look into ash for ages.  I'm somewhat in real life work,
but I'll lok into it at one point.


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  mailto:cygwin@cygwin.com
Red Hat, Inc.


Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-10 Thread Igor Pechtchanski
On Fri, 10 Jun 2005, Corinna Vinschen wrote:

 On Jun  9 14:54, Max Kaehn wrote:
  On Thu, 2005-06-09 at 01:53, Corinna Vinschen wrote:
   On Jun  8 11:44, Max Kaehn wrote:
I wound up using eval, and was thoroughly perplexed at the way
that the first eval seems to get thrown away.
  
   -v, please.
  
 tcsh sh
 $ eval date
 Thu Jun  9 10:52:23 WEDT 2005
 $
  
   Corinna
 
  (I wasn't sure if you meant -v for version numbers
  or verbose output; I hope what you wanted is somewhere in there.)

 I meant please, be more verbose with information.

  fulgurite-xpdbg% make -f /u/cygwin/src/winsup/testsuite/iterate.mak
  results_foo=0
  results_bar=1
  results_baz=2
  results_foo =
  results_bar = 1
  results_baz = 2
  results_foo =
  [: 0: unknown operand
  results_bar = 1
  make: *** [all] Error 1

 I can reproduce it without having make involved.  It looks like a ash bug.
 Oh boy, I didn't look into ash for ages.  I'm somewhat in real life work,
 but I'll lok into it at one point.

Is this related to CGF's query on cygwin@ about replacing sh=ash with
sh=bash?  If not, it should be.
Igor
-- 
http://cs.nyu.edu/~pechtcha/
  |\  _,,,---,,_[EMAIL PROTECTED]
ZZZzz /,`.-'`'-.  ;-;;,_[EMAIL PROTECTED]
 |,4-  ) )-,_. ,\ (  `'-'   Igor Pechtchanski, Ph.D.
'---''(_/--'  `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse... -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT


Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-09 Thread Corinna Vinschen
On Jun  8 11:44, Max Kaehn wrote:
 I wound up using eval, and was thoroughly perplexed at the way
 that the first eval seems to get thrown away.

-v, please.

  tcsh sh
  $ eval date
  Thu Jun  9 10:52:23 WEDT 2005
  $

Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  mailto:cygwin@cygwin.com
Red Hat, Inc.


Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-09 Thread Max Kaehn
On Thu, 2005-06-09 at 01:53, Corinna Vinschen wrote:
 On Jun  8 11:44, Max Kaehn wrote:
  I wound up using eval, and was thoroughly perplexed at the way
  that the first eval seems to get thrown away.
 
 -v, please.
 
   tcsh sh
   $ eval date
   Thu Jun  9 10:52:23 WEDT 2005
   $
 
 Corinna

make -v gives GNU Make 3.80.  sh -v doesn't seem to do anything--
the ash man page doesn't mention a verbose or debugging mode.  
cygcheck -f /bin/sh reports ash-20040127-1.  cygcheck -f /bin/make
reports ash-20040127-1.  make --debug doesn't tell anything
interesting.  I'm using cygwin1.dll from the cygwin1-20050609.dll.bz2
snapshot.  (I wasn't sure if you meant -v for version numbers
or verbose output; I hope what you wanted is somewhere in there.)

I've tried testing this with a pure shell script and I can't reproduce
the problem there.  If the cause lies with GNU make, it's pretty
subtle, since the Electric Cloud make program gets the same results.

I'm badly out of practice with the classic Bourne shell, and I
haven't worked with ash before, so I may be missing something basic.

Using this makefile:
---
TESTS = foo bar baz

all:
@i=0; \
eval ; \
for tool in $(TESTS); do \
echo results_$${tool}=$$i; \
eval results_$${tool}=$$i; \
i=`expr $$i + 1`; \
done; \
echo results_foo = $$results_foo; \
echo results_bar = $$results_bar; \
echo results_baz = $$results_baz; \
for tool in $(TESTS); do \
eval result=\$$results_$$tool; \
echo results_$$tool = $$result;\
if [ $${result} -ne 0 ] ; then \
exit $$result; \
fi; \
done;
---
with the 'eval ' line present I get:


fulgurite-xpdbg% make -f /u/cygwin/src/winsup/testsuite/iterate.mak
results_foo=0
results_bar=1
results_baz=2
results_foo = 0
results_bar = 1
results_baz = 2
results_foo = 0
results_bar = 1
make: *** [all] Error 1

Delete the line with 'eval ' and:

fulgurite-xpdbg% make -f /u/cygwin/src/winsup/testsuite/iterate.mak
results_foo=0
results_bar=1
results_baz=2
results_foo = 
results_bar = 1
results_baz = 2
results_foo = 
[: 0: unknown operand
results_bar = 1
make: *** [all] Error 1

This shell script, on the other hand, works just fine:
---
i=0; \
for tool in foo bar baz; do \
echo results_${tool}=$i; \
eval results_${tool}=$i; \
i=`expr $i + 1`; \
done; \
echo results_foo = $results_foo; \
echo results_bar = $results_bar; \
echo results_baz = $results_baz; \
for tool in foo bar baz; do \
eval result=\$results_$tool; \
echo results_$tool = $result; \
if [ ${result} -ne 0 ] ; then \
exit $result; \
fi; \
done;
---




Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-08 Thread Max Kaehn
On Mon, 2005-06-06 at 16:51, Christopher Faylor wrote:
 Actually neither is right.  The tests are supposed to run to
 completion, not stop on a failure.

My first cut was this, but it could have led to a tedious
accumulation of if/then/else/if/then/else:

Index: winsup/testsuite/Makefile.in
===
RCS file: /cvs/src/src/winsup/testsuite/Makefile.in,v
retrieving revision 1.20
diff -u -p -r1.20 Makefile.in
--- winsup/testsuite/Makefile.in6 Jun 2005 21:13:31 -   1.20
+++ winsup/testsuite/Makefile.in7 Jun 2005 01:28:25 -
@@ -186,8 +186,11 @@ check: $(TESTSUP_LIB_NAME) $(RUNTIME) cy
   TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
PATH=$(bupdir)/cygwin:$${PATH} ;\
-   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\
-   $(RUNTEST) --tool cygload $(RUNTESTFLAGS)
+   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ; WINSUPSTATUS=$$?;\
+   $(RUNTEST) --tool cygload $(RUNTESTFLAGS) ; CYGLOADSTATUS=$$?;\
+   if [ $$WINSUPSTATUS -ne 0 ] ; then \
+   exit $$WINSUPSTATUS; \
+   else exit $$CYGLOADSTATUS; fi;

 cygrun.o: cygrun.c
$(CC) $(MINGW_CFLAGS) -o $@ -c $


So I wrote a more general script, discovered that cygwin uses ash
instead of bash for /bin/sh, and rewrote the more general script so
ash could handle it.  Since ash doesn't seem to support arrays,
I wound up using eval, and was thoroughly perplexed at the way
that the first eval seems to get thrown away.

Index: winsup/testsuite/Makefile.in
===
RCS file: /cvs/src/src/winsup/testsuite/Makefile.in,v
retrieving revision 1.20
diff -u -p -r1.20 Makefile.in
--- winsup/testsuite/Makefile.in6 Jun 2005 21:13:31 -   1.20
+++ winsup/testsuite/Makefile.in8 Jun 2005 18:39:42 -
@@ -179,6 +179,8 @@ testsuite/site.exp: site.exp

 # Note: we set the PATH so that we can pick up cygwin0.dll

+TOOLS = winsup cygload
+
 check: $(TESTSUP_LIB_NAME) $(RUNTIME) cygrun.exe testsuite/site.exp
cd testsuite; \
EXPECT=${EXPECT} ; export EXPECT ; \
@@ -186,8 +188,18 @@ check: $(TESTSUP_LIB_NAME) $(RUNTIME) cy
   TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
PATH=$(bupdir)/cygwin:$${PATH} ;\
-   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\
-   $(RUNTEST) --tool cygload $(RUNTESTFLAGS)
+   eval ; \
+   for tool in $(TOOLS); do \
+   $(RUNTEST) --tool $$tool $(RUNTESTFLAGS); \
+   eval results_$$tool=$$?; \
+   done; \
+   for tool in $(TOOLS) ; do \
+   eval result=\$$results_$$tool; \
+   if [ $${result:-0} -ne 0 ] ; then \
+   echo $$tool failed: $$result; \
+   exit $$result; \
+   fi; \
+   done;

 cygrun.o: cygrun.c
$(CC) $(MINGW_CFLAGS) -o $@ -c $




Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-07 Thread Christopher Faylor
On Mon, Jun 06, 2005 at 05:56:48PM -0700, Max Kaehn wrote:
On Mon, 2005-06-06 at 14:33, Christopher Faylor wrote:
 So, I checked in the above and, after changing cygload.exp so that it
 compiles cygload.cc rather than cygload.cpp, I found a more serious
 error.  I've attached the cygload.log file.  It doesn't look pretty,
 unfortunately.  You might notice the same thing if you configure your
 Cygwin DLL with --enable-debugging, like I do.

I'm having trouble replicating the problem.  Here's what I did:

cd src/build
rm -rf etc i686-pc-cygwin libiberty
../configure --enable-debugging=yes
make
cd i686-pc-cygwin/winsup
make check
cd testsuite
runtest --tool cygload

The first time I ran runtest --tool cygload, I got an error about
mismatched heap addresses, so I copied new-cygwin1.dll to
/bin/cygwin1.dll and reran the test.  That time, it passed.

What am I doing wrong?  I've attached the output of runtest --tool
cygload -v.  (The mingw-cygwin.log referenced in there is empty.)
I notice that I'm getting warnings about couldn't find the global
config file and couldn't find tool init file, so there may be
something wrong with my test setup.

Hmm.  Maybe it was cockpit error on my part.  I can't duplicate the
problem today.  That's odd.

cgf


RE: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-07 Thread Dave Korn
Original Message
From: Christopher Faylor
Sent: 07 June 2005 00:52

 On Mon, Jun 06, 2005 at 04:11:32PM -0700, Max Kaehn wrote:
 On Mon, 2005-06-06 at 16:07, Igor Pechtchanski wrote:
 I take it you meant
 
 -   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\
 +   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) \
 
 Oh, right, this is the world of shell scripts, not C.  Thanks for
 catching that.
 
 Actually neither is right.  The tests are supposed to run to
 completion, not stop on a failure.
 
 cgf


  I'm of the opinion that cygload should be a subdirectory of
winsup/testsuite/winsup.api, since it's a functionality of the winsup api
that's being tested here, not an entire new tool.


cheers,
  DaveK
-- 
Can't think of a witty .sigline today



[Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-06 Thread Max Kaehn
This patch contains a revised version of the cygload test utility,
this time with even better adherence to cygwin naming and indentation.
Igor, thanks for pointing me at indent-- it also pointed out
that I was forgetting to put spaces in front of the parameter
lists for my function calls.

I'm using diff -upN against an empty directory winsup/testsuite/cyglode;
I hope that's OK.
---
ChangeLog for winsup/testsuite:

2005-05-27  Max Kaehn [EMAIL PROTECTED]

* Makefile.in:  now tests cygload.
* cygload:  New directory.
* cygload/README:  New file.
* cygload/Makefile:  Ditto.
* cygload/cygload.h:  Ditto.
* cygload/cygload.cc:  Ditto.
* cygload/cygload.exp:  Ditto.
---
Index: winsup/testsuite/Makefile.in
===
RCS file: /cvs/src/src/winsup/testsuite/Makefile.in,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile.in
--- winsup/testsuite/Makefile.in6 Jul 2003 21:45:21 -   1.19
+++ winsup/testsuite/Makefile.in6 Jun 2005 20:49:21 -
@@ -186,7 +186,8 @@ check: $(TESTSUP_LIB_NAME) $(RUNTIME) cy
   TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
PATH=$(bupdir)/cygwin:$${PATH} ;\
-   $(RUNTEST) --tool winsup $(RUNTESTFLAGS)
+   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\
+   $(RUNTEST) --tool cygload $(RUNTESTFLAGS)
 
 cygrun.o: cygrun.c
$(CC) $(MINGW_CFLAGS) -o $@ -c $
diff -upN winsup/testsuite/cyglode/Makefile winsup/testsuite/cygload/Makefile
--- winsup/testsuite/cyglode/Makefile   1969-12-31 16:00:00.0 -0800
+++ winsup/testsuite/cygload/Makefile   2005-06-06 13:18:01.0 -0700
@@ -0,0 +1,36 @@
+# Makefile for cygload
+
+###
+### MinGW options
+###
+CC = gcc
+CFLAGS = -mno-cygwin -Wall
+LINKFLAGS = -lstdc++ -Wl,-e,[EMAIL PROTECTED]
+
+###
+### MSVC options
+###
+ifndef MSVCDir
+MSVCDir = C:/cygwin/usr/local/tools/i686_win32/vc7/Vc7
+endif
+
+CL = $(MSVCDir)/bin/cl
+# If you want to look at the assembly, add /Famsvc-cygload.asm /FAs.
+MSVCCFLAGS = /nologo /GX /MDd /Zi /W4 /TP
+MSVCINCLUDES = /I $(MSVCDir)/include /I $(MSVCDir)/PlatformSDK/Include
+# Using /ENTRY seems to automatically invoke /NODEFAULTLIBS.
+MSVCLIBS = /link /LIBPATH:$(MSVCDir)/lib /LIBPATH:$(MSVCDir)/PlatformSDK/lib \
+   /ENTRY:cygloadCRTStartup uuid.lib msvcprtd.lib msvcrtd.lib \
+   oldnames.lib kernel32.lib
+
+all:   mingw-cygload.exe
+
+mingw-cygload.exe: cygload.cc cygload.h
+   $(CC) $(CFLAGS) $ -o $@ $(LINKFLAGS)
+
+msvc-cygload.exe:  cygload.cc cygload.h
+   $(CL) $(MSVCCFLAGS) $(MSVCINCLUDES) $ /o $@ $(MSVCLIBS)
+
+clean:
+   rm -f msvc-cygload.exe msvc-cygload.ilk cygload.obj \
+   msvc-cygload.pdb vc70.pdb mingw-cygload.exe
diff -upN winsup/testsuite/cyglode/README winsup/testsuite/cygload/README
--- winsup/testsuite/cyglode/README 1969-12-31 16:00:00.0 -0800
+++ winsup/testsuite/cygload/README 2005-05-27 14:31:06.0 -0700
@@ -0,0 +1,18 @@
+cygload demonstrates how to dynamically load cygwin1.dll.  The default
+build uses MinGW to compile it; the Makefile also shows how to build
+it using the Microsoft compiler.
+
+By default, the program will silently test basic functionality:
+* Making space on the stack for cygtls
+* Loading and initializing cygwin1.dll
+* Path translation
+* Error handling
+* Signal handling
+
+Command line parameters are:
+
+-v Verbose output
+-testinterruptsPause for 30 seconds to allow testing command line
+   interrupts (^C)
+-cygwin xxxSpecifies an alternative DLL to load instead of
+   cygwin1.dll.
diff -upN winsup/testsuite/cyglode/cygload.cc 
winsup/testsuite/cygload/cygload.cc
--- winsup/testsuite/cyglode/cygload.cc 1969-12-31 16:00:00.0 -0800
+++ winsup/testsuite/cygload/cygload.cc 2005-06-06 13:54:31.0 -0700
@@ -0,0 +1,618 @@
+// cygload.cpp
+//
+// Copyright 2005, Red Hat, Inc.
+//
+// Written by Max Kaehn [EMAIL PROTECTED]
+//
+// This software is a copyrighted work licensed under the terms of the
+// Cygwin license.  Please consult the file CYGWIN_LICENSE for details.
+//
+// Note that dynamically linking to cygwin1.dll automatically places your code
+// under the GPL unless you purchase a Cygwin Contract with Red Hat, Inc.
+// See http://www.redhat.com/software/cygwin/ for more information.
+
+
+// Options for this program:
+// -v  Verbose output.  Normal operation is entirely silent,
+// save for errors.
+// -testinterrupts Pauses the program for 30 seconds so you can demonstrate
+// that it handles ^C properly.
+// -cygwin Name of DLL to load.  Defaults to cygwin1.dll.
+
+#include cygload.h
+#include iostream
+#include sstream
+#include vector
+#include errno.h  // for ENOENT
+#include 

Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-06 Thread Christopher Faylor
On Mon, Jun 06, 2005 at 02:01:44PM -0700, Max Kaehn wrote:
This patch contains a revised version of the cygload test utility,
this time with even better adherence to cygwin naming and indentation.
Igor, thanks for pointing me at indent-- it also pointed out
that I was forgetting to put spaces in front of the parameter
lists for my function calls.

I'm using diff -upN against an empty directory winsup/testsuite/cyglode;
I hope that's OK.
---
ChangeLog for winsup/testsuite:

2005-05-27  Max Kaehn [EMAIL PROTECTED]

   * Makefile.in:  now tests cygload.
   * cygload:  New directory.
   * cygload/README:  New file.
   * cygload/Makefile:  Ditto.
   * cygload/cygload.h:  Ditto.
   * cygload/cygload.cc:  Ditto.
   * cygload/cygload.exp:  Ditto.

There were still some braces at the end of the line in cygload.h so I
changed those.  I also changed the ChangeLog entry now tests cygload
to Test cygload.  See http://cygwin.com/contrib.html for some common
mistakes in ChangeLog entries.

So, I checked in the above and, after changing cygload.exp so that it
compiles cygload.cc rather than cygload.cpp, I found a more serious
error.  I've attached the cygload.log file.  It doesn't look pretty,
unfortunately.  You might notice the same thing if you configure your
Cygwin DLL with --enable-debugging, like I do.

Another problem is that since you have separated out the Makefile into
two separate invocations of $(RUNTEST) the error return from the Makefile
will not be set correctly.  To preserve previous operation, the makefile
should do all of the tests and then return with a status of zero if things
completed correctly or nonzero otherwise.

cgf
Opening log files in .
Test Run By cgf on Mon Jun  6 17:27:17 2005
Native configuration is i686-pc-cygwin

=== cygload tests ===

setting trap for SIGTERM to terminated
setting trap for SIGINT to interrupted by user
setting trap for SIGQUIT to interrupted by user
setting trap for SIGSEGV to segmentation violation
dirlist is /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards
pushing config for build, name is norton
dirlist is /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards
pushing config for host, name is norton
Schedule of variations:
unix

target is unix
Running target unix
dirlist is 
/cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards/norton 
/cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards
Using /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards/unix.exp 
as board description file for target.
Using /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/config/unix.exp as 
generic interface file for target.
Using /cygnus/src/uberbaum/winsup/testsuite/config/default.exp as 
tool-and-target-specific interface file.
pushing config for target, name is unix
Running /cygnus/src/uberbaum/winsup/testsuite/cygload/cygload.exp ...
running gcc -mno-cygwin 
/cygnus/src/uberbaum/winsup/testsuite/cygload/cygload.cc -o mingw-cygload.exe 
-lstdc++ -Wl,-e,[EMAIL PROTECTED]

running ./mingw-cygload.exe -cygwin 
j:/build/i686-pc-cygwin/winsup/cygwin/cygwin0.dll  ./mingw-cygwin.log

cygload: 1 {  3 [main] ? 1992 add_handle: void memory_init():257 - multiple 
attempts to add handle cygheap-shared_h0x774
  79191 [main] ? 1992 add_handle:  previously allocated by gned int 
shared_info::heap_chunk_size():257(_chunk_size()0x774) winpid 2600
  86782 [main] ? 1992 add_handle: void user_shared_initialize(bool):185 - 
multiple attempts to add handle cygwin_user_h0x768
  95160 [main] ? 1992 add_handle:  previously allocated by 
:185(¸¨qaº0x768) winpid 2600
 112620 [main] ? 1992 add_handle: void mtinfo_init():1176 - multiple attempts 
to add handle cygheap-mt_h0x76C
 128555 [main] ? 1992 add_handle:  previously allocated by 
aƒìº˜:1176(‰D$¸ÕˆaÇ$ïˆaè¼ùúÿ¡ ÿaƒì‰$èÌýÿÿƒÄ,Ãfhandler_dev_tape::fhandler_dev_tape()0x76C)
 winpid 2600}
FAIL: cygload (execute)
testcase /cygnus/src/uberbaum/winsup/testsuite/cygload/cygload.exp completed in 
6 seconds

=== cygload Summary ===

# of unexpected failures1
runtest completed at Mon Jun  6 17:27:23 2005


Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-06 Thread Igor Pechtchanski
On Mon, 6 Jun 2005, Max Kaehn wrote:

 On Mon, 2005-06-06 at 14:33, Christopher Faylor wrote:
  There were still some braces at the end of the line in cygload.h so I
  changed those.  I also changed the ChangeLog entry now tests cygload
  to Test cygload.  See http://cygwin.com/contrib.html for some common
  mistakes in ChangeLog entries.

 Got it.  (Still wrapping my brain around using the present tense. :-) )

  So, I checked in the above and, after changing cygload.exp so that it
  compiles cygload.cc rather than cygload.cpp, I found a more serious
  error.  I've attached the cygload.log file.  It doesn't look pretty,
  unfortunately.  You might notice the same thing if you configure your
  Cygwin DLL with --enable-debugging, like I do.

 Aha!  I'll rebuild and investigate.  Thanks.

  Another problem is that since you have separated out the Makefile into
  two separate invocations of $(RUNTEST) the error return from the Makefile
  will not be set correctly.  To preserve previous operation, the makefile
  should do all of the tests and then return with a status of zero if things
  completed correctly or nonzero otherwise.

 My goof.  Like this?

 Index: winsup/testsuite/Makefile.in
 ===
 RCS file: /cvs/src/src/winsup/testsuite/Makefile.in,v
 retrieving revision 1.20
 diff -u -p -r1.20 Makefile.in
 --- winsup/testsuite/Makefile.in6 Jun 2005 21:13:31 -
 1.20
 +++ winsup/testsuite/Makefile.in6 Jun 2005 22:49:40 -
 @@ -186,7 +186,7 @@ check: $(TESTSUP_LIB_NAME) $(RUNTIME) cy
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ;
 \
 export TCL_LIBRARY ; fi ; \
 PATH=$(bupdir)/cygwin:$${PATH} ;\
 -   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\
 +   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ||\
 $(RUNTEST) --tool cygload $(RUNTESTFLAGS)

I take it you meant

-   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\
+   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) \

Igor
-- 
http://cs.nyu.edu/~pechtcha/
  |\  _,,,---,,_[EMAIL PROTECTED]
ZZZzz /,`.-'`'-.  ;-;;,_[EMAIL PROTECTED]
 |,4-  ) )-,_. ,\ (  `'-'   Igor Pechtchanski, Ph.D.
'---''(_/--'  `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse... -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT


Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-06 Thread Max Kaehn
On Mon, 2005-06-06 at 16:07, Igor Pechtchanski wrote:
 I take it you meant
 
 -   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\
 +   $(RUNTEST) --tool winsup $(RUNTESTFLAGS) \

Oh, right, this is the world of shell scripts, not C.  Thanks for
catching that.




Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3

2005-06-06 Thread Max Kaehn
On Mon, 2005-06-06 at 14:33, Christopher Faylor wrote:
 So, I checked in the above and, after changing cygload.exp so that it
 compiles cygload.cc rather than cygload.cpp, I found a more serious
 error.  I've attached the cygload.log file.  It doesn't look pretty,
 unfortunately.  You might notice the same thing if you configure your
 Cygwin DLL with --enable-debugging, like I do.

I'm having trouble replicating the problem.  Here's what I did:

cd src/build
rm -rf etc i686-pc-cygwin libiberty
../configure --enable-debugging=yes
make
cd i686-pc-cygwin/winsup
make check
cd testsuite
runtest --tool cygload

The first time I ran runtest --tool cygload, I got an error about
mismatched heap addresses, so I copied new-cygwin1.dll to
/bin/cygwin1.dll and reran the test.  That time, it passed.

What am I doing wrong?  I've attached the output of runtest --tool
cygload -v.  (The mingw-cygwin.log referenced in there is empty.)
I notice that I'm getting warnings about couldn't find the global
config file and couldn't find tool init file, so there may be
something wrong with my test setup.

Expect binary is /bin/expect
Using /usr/share/dejagnu/runtest.exp as main test driver
Verbose level is 1
Login name is slothman
Found ~/.dejagnurc
.dejagnurc
Found /u/cygwin/src/build/i686-pc-cygwin/winsup/testsuite/site.exp
Using test sources in /u/cygwin/src/winsup/testsuite
Using test binaries in /u/cygwin/src/build/i686-pc-cygwin/winsup/testsuite
Tool root directory is /u/cygwin/src/build/i686-pc-cygwin
Using /usr/share/dejagnu to find libraries
Found /usr/share/dejagnu/libexec/config.guess
Assuming build host is i686-pc-cygwin
WARNING: Couldn't find the global config file.
Loading /usr/share/dejagnu/utils.exp
Loading /usr/share/dejagnu/framework.exp
Loading /usr/share/dejagnu/debugger.exp
Loading /usr/share/dejagnu/remote.exp
Loading /usr/share/dejagnu/mondfe.exp
Loading /usr/share/dejagnu/xsh.exp
Loading /usr/share/dejagnu/telnet.exp
Loading /usr/share/dejagnu/rlogin.exp
Loading /usr/share/dejagnu/kermit.exp
Loading /usr/share/dejagnu/tip.exp
Loading /usr/share/dejagnu/rsh.exp
Loading /usr/share/dejagnu/ftp.exp
Loading /usr/share/dejagnu/target.exp
Loading /usr/share/dejagnu/targetdb.exp
Loading /usr/share/dejagnu/libgloss.exp
WARNING: Couldn't find tool init file
Testing cygload
Opening log files in .
Test Run By slothman on Mon Jun  6 17:52:09 2005
Native configuration is i686-pc-cygwin

=== cygload tests ===

setting trap for SIGTERM to terminated
setting trap for SIGINT to interrupted by user
setting trap for SIGQUIT to interrupted by user
setting trap for SIGSEGV to segmentation violation
dirlist is /usr/share/dejagnu/baseboards
pushing config for build, name is levinbolt-xp
dirlist is /usr/share/dejagnu/baseboards
pushing config for host, name is levinbolt-xp
Schedule of variations:
unix

target is unix
Running target unix
dirlist is /usr/share/dejagnu/baseboards/levinbolt-xp 
/usr/share/dejagnu/baseboards
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /u/cygwin/src/winsup/testsuite/config/default.exp as 
tool-and-target-specific interface file.
pushing config for target, name is unix
Running /u/cygwin/src/winsup/testsuite/cygload/cygload.exp ...
running gcc -mno-cygwin /u/cygwin/src/winsup/testsuite/cygload/cygload.cc -o 
mingw-cygload.exe -lstdc++ -Wl,-e,[EMAIL PROTECTED]

running ./mingw-cygload.exe -cygwin 
u:/cygwin/src/build/i686-pc-cygwin/winsup/cygwin/cygwin0.dll  
./mingw-cygwin.log


=== cygload Summary ===

# of expected passes1
runtest completed at Mon Jun  6 17:52:14 2005