www.digitalmars.com         C & C++   DMDScript  

D.gnu - Testing suite for gdc for D1 and D2

reply Vincenzo Ampolo <vincenzo.ampolo gmail.com> writes:
Hi,
This is mainly a message to Walter, Andrei and all the people involved in 
dmd and phobos.

As you maybe heard, there have been some commits about the gdc compiler 
and in my previous mail in the NG i announced the complete merge of dmd 
1.039 and 2.015.

We have a problem now, we don't know how to safely test the newer 
versions of the compiler. The dstress seems the only choice but are they 
the same tests run before any dmd release? Is it both valid for D1 and 
D2? If not, what tests are executed on dmd and phobos before each 
release?

Thanks.
Oct 08 2009
next sibling parent downs <default_357-line yahoo.de> writes:
Vincenzo Ampolo wrote:
 Hi,
 This is mainly a message to Walter, Andrei and all the people involved in 
 dmd and phobos.
 
 As you maybe heard, there have been some commits about the gdc compiler 
 and in my previous mail in the NG i announced the complete merge of dmd 
 1.039 and 2.015.
 
 We have a problem now, we don't know how to safely test the newer 
 versions of the compiler. The dstress seems the only choice but are they 
 the same tests run before any dmd release? Is it both valid for D1 and 
 D2? If not, what tests are executed on dmd and phobos before each 
 release?
 
 Thanks.

At the risk of self-aggrandizement, I'm gonna go ahead here and suggest building stacy (my path tracer project, http://dsource.org/projects/stacy ) on -O0 and -O3 -ffast-math and compare the output for a complex scene - the code is very template-heavy and has a documented propensity towards breaking compilers in new and unexpected ways. :)
Oct 08 2009
prev sibling next sibling parent Leandro Lucarella <llucax gmail.com> writes:
Vincenzo Ampolo, el  8 de octubre a las 11:31 me escribiste:
 Hi,
 This is mainly a message to Walter, Andrei and all the people involved in 
 dmd and phobos.
 
 As you maybe heard, there have been some commits about the gdc compiler 
 and in my previous mail in the NG i announced the complete merge of dmd 
 1.039 and 2.015.
 
 We have a problem now, we don't know how to safely test the newer 
 versions of the compiler. The dstress seems the only choice but are they 
 the same tests run before any dmd release? Is it both valid for D1 and 
 D2? If not, what tests are executed on dmd and phobos before each 
 release?

I think you can ask LDC people too, they have some "mini tests". I guess D1 only though. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- But it was only fantasy. The wall was too high, as you can see. No matter how he tried, he could not break free. And the worms ate into his brain.
Oct 08 2009
prev sibling parent reply Michael P. <baseball.mjp gmail.com> writes:
Vincenzo Ampolo Wrote:

 Hi,
 This is mainly a message to Walter, Andrei and all the people involved in 
 dmd and phobos.
 
 As you maybe heard, there have been some commits about the gdc compiler 
 and in my previous mail in the NG i announced the complete merge of dmd 
 1.039 and 2.015.
 
 We have a problem now, we don't know how to safely test the newer 
 versions of the compiler. The dstress seems the only choice but are they 
 the same tests run before any dmd release? Is it both valid for D1 and 
 D2? If not, what tests are executed on dmd and phobos before each 
 release?
 
 Thanks.

One possible choice is to make 1 file, for D1 and D2, that we run after each release. It would have to be fairly large, testing lots of different things. If this compiled and ran correctly, it would mean that the changes you made haven't affected other parts of the compiler. So, like DStress, but smaller test case, and only 1 file.
Oct 19 2009
parent Vincenzo Ampolo <vincenzo.ampolo gmail.com> writes:
Michael P.  wrote:

 One possible choice is to make 1 file, for D1 and D2, that we run 

 each release. It would have to be fairly large, testing lots of 

 things. If this compiled and ran correctly, it would mean that the 

 you made haven't affected other parts of the compiler. So, like 

 but smaller test case, and only 1 file.

Hi Michael :) Well, i've played a bit with dstress and it's exactly what you stated, but instead of being in a separate file, there are many files ordered in subdirs which are called one by one and checked. The output is standard and Christian K from ldc had wrote a d program to format this output to an html representation. So i think the way is to follow the dstress path and maybe add some scripts. Having only one large file can be painful if the lang specs change (like in D2). In this case, modifying a large file of all tests can be painful. See you :D -- Vincenzo Ampolo (goshawk) http://goshawknest.wordpress.com
Oct 20 2009