How do I build one test?

2018-03-22 Thread David Chisnall
Hello,

I am fighting with the GNUstep test suite again.  I have one test failing to 
build, but I can’t get the build command so that I can debug the failure 
properly.  If I do gnustep-tests --verbose test/name then it tells me that it 
is running 'gmake debug=yes name', but when I try that in the source directory 
it complains that it can’t find Testing.h.  How do I get it to run gmake 
messages=yes so that I can reproduce and debug the failure?

David


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: How do I build one test?

2018-03-22 Thread Richard Frith-Macdonald


> On 22 Mar 2018, at 15:38, David Chisnall  wrote:
> 
> Hello,
> 
> I am fighting with the GNUstep test suite again.  I have one test failing to 
> build, but I can’t get the build command so that I can debug the failure 
> properly.  If I do gnustep-tests --verbose test/name then it tells me that it 
> is running 'gmake debug=yes name', but when I try that in the source 
> directory it complains that it can’t find Testing.h.  How do I get it to run 
> gmake messages=yes so that I can reproduce and debug the failure?

When the compiler /linker errors recorded in the log file are not enough to 
easily tell why something failed to build, 'messages=yes' is quite useful.

You would normally type 'make messages=yes' for a testcase just as you would 
with any other program, so the fact that you apparently can't do that indicates 
that you are running in a non-standard environment.
The gnustep-tests script is apparently successfully setting up the environment 
in which to build the testcase, so it's not clear why working directly from the 
command line didn't succeed as well. 
Possibly you forgot to source GNUstep.sh to set up your environment.

If you want to pass messages=yes to the make invocation without setting up your 
GNUstep environment, you could simply pass it to the gnustep-tests script as in 
the following commend:

messages=yes gnustep-tests mytest.m

In any case, gnustep-tests is a fairly small shell script ...  if really stuck 
you could just hack a copy of it to add the 'messages=yes'
___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: How do I build one test?

2018-03-22 Thread Richard Frith-Macdonald


> On 22 Mar 2018, at 17:00, Richard Frith-Macdonald 
>  wrote:
> 
> 
> In any case, gnustep-tests is a fairly small shell script ...  if really 
> stuck you could just hack a copy of it to add the 'messages=yes'

I looked, and it turned out to be a tiny alteration to run make with 
'messages=yes' when gnustep-tests is invoked with the --verbose option, so I 
did that;  it seems to me the correct behavior for verbose mode.
___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: How do I build one test?

2018-03-22 Thread David Chisnall
On 22 Mar 2018, at 17:29, Richard Frith-Macdonald 
 wrote:
> 
> 
> 
>> On 22 Mar 2018, at 17:00, Richard Frith-Macdonald 
>>  wrote:
>> 
>> 
>> In any case, gnustep-tests is a fairly small shell script ...  if really 
>> stuck you could just hack a copy of it to add the 'messages=yes'
> 
> I looked, and it turned out to be a tiny alteration to run make with 
> 'messages=yes' when gnustep-tests is invoked with the --verbose option, so I 
> did that;  it seems to me the correct behavior for verbose mode.

Thanks, I’m debugging the new ABI and so I need to see the exact compiler 
invocation to fix compiler bugs.  I am now in a state where I have as many 
-base tests passing with the new ABI as with the old (just in time to head out 
to a wine tasting in college!), up from about 2,000 more failures this morning. 
 I have only one big change and a few small ones as old ones left to do, and 
then a lot of code cleanup and finish documenting the ABI.  

-base is broken in all sorts of exciting ways if extended type encodings leak 
into places that expect traditional ones (I have fixes for most of them, but 
fixing the runtime to not leak them is probably better!).

David


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: How do I build one test?

2018-03-23 Thread David Chisnall
On 22 Mar 2018, at 17:50, David Chisnall  wrote:
> 
> On 22 Mar 2018, at 17:29, Richard Frith-Macdonald 
>  wrote:
>> 
>> 
>> 
>>> On 22 Mar 2018, at 17:00, Richard Frith-Macdonald 
>>>  wrote:
>>> 
>>> 
>>> In any case, gnustep-tests is a fairly small shell script ...  if really 
>>> stuck you could just hack a copy of it to add the 'messages=yes'
>> 
>> I looked, and it turned out to be a tiny alteration to run make with 
>> 'messages=yes' when gnustep-tests is invoked with the --verbose option, so I 
>> did that;  it seems to me the correct behavior for verbose mode.
> 
> Thanks, I’m debugging the new ABI and so I need to see the exact compiler 
> invocation to fix compiler bugs.  I am now in a state where I have as many 
> -base tests passing with the new ABI as with the old (just in time to head 
> out to a wine tasting in college!), up from about 2,000 more failures this 
> morning.  I have only one big change and a few small ones as old ones left to 
> do, and then a lot of code cleanup and finish documenting the ABI.  
> 
> -base is broken in all sorts of exciting ways if extended type encodings leak 
> into places that expect traditional ones (I have fixes for most of them, but 
> fixing the runtime to not leak them is probably better!).

P.S. It would still be *very* useful to be able to properly run the tests in 
parallel.  I am developing on a 32-core machine and running the GNUstep tests 
takes several minutes with most of the cores idle during that time.  

David


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev