How do I build one test?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

How do I build one test?

David Chisnall-7
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
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev
Reply | Threaded
Open this post in threaded view
|

Re: How do I build one test?

Richard Frith-Macdonald-9


> On 22 Mar 2018, at 15:38, David Chisnall <[hidden email]> 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
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev
Reply | Threaded
Open this post in threaded view
|

Re: How do I build one test?

Richard Frith-Macdonald-9


> On 22 Mar 2018, at 17:00, Richard Frith-Macdonald <[hidden email]> 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
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev
Reply | Threaded
Open this post in threaded view
|

Re: How do I build one test?

David Chisnall-7
On 22 Mar 2018, at 17:29, Richard Frith-Macdonald <[hidden email]> wrote:
>
>
>
>> On 22 Mar 2018, at 17:00, Richard Frith-Macdonald <[hidden email]> 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
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev
Reply | Threaded
Open this post in threaded view
|

Re: How do I build one test?

David Chisnall-7
On 22 Mar 2018, at 17:50, David Chisnall <[hidden email]> wrote:

>
> On 22 Mar 2018, at 17:29, Richard Frith-Macdonald <[hidden email]> wrote:
>>
>>
>>
>>> On 22 Mar 2018, at 17:00, Richard Frith-Macdonald <[hidden email]> 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
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev