Thread overview
[OT] wanted: Makefile porter for DStress->Windows
Oct 24, 2004
Thomas Kuehne
Nov 16, 2004
J C Calvarese
Nov 17, 2004
Thomas Kuehne
Nov 22, 2004
J C Calvarese
Nov 22, 2004
Thomas Kuehne
Nov 23, 2004
J C Calvarese
Nov 23, 2004
Thomas Kuehne
October 24, 2004
Hi everyone,

I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines) to a make
format supported by the make.exe distributed with dmd.
(For the beginning all lines containing "complex" can be ignored as well as all
"complex.mak" files.)

It would be realy nice to be able to compare regression & bug tests results from Linux and Windows.

http://dmd.kuehne.cn/dstress.html

Thomas Kuehne


November 16, 2004
Thomas Kuehne wrote:
> Hi everyone,
> 
> I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines) to a make
> format supported by the make.exe distributed with dmd.
> (For the beginning all lines containing "complex" can be ignored as well as all
> "complex.mak" files.)
> 
> It would be realy nice to be able to compare regression & bug tests results from Linux and
> Windows.

Are you still looking for help towards this goal?

I'm no expert with makefiles, but I think I could rig-up a program to generate a batch file to output parallel results for Windows (based on the contents of a directory).

What does the resulting file look like? I don't have Linux set up on my machine, so I can't just run it and find out what the produced file looks like.

> 
> http://dmd.kuehne.cn/dstress.html
> 
> Thomas Kuehne  


-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/
November 17, 2004
J C Calvarese schrieb am Tue, 16 Nov 2004 17:22:08 -0600:
>> I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines) to a make
>> format supported by the make.exe distributed with dmd.
>> (For the beginning all lines containing "complex" can be ignored as well as all
>> "complex.mak" files.)
>> 
>> It would be realy nice to be able to compare regression & bug tests results from Linux and Windows.
>
> Are you still looking for help towards this goal?

Yes.

> I'm no expert with makefiles, but I think I could rig-up a program to generate a batch file to output parallel results for Windows (based on the contents of a directory).

This would be sweet ;) You can find the up-to-date Makefile at: http://svn.kuehne.cn/dstress/

For every test case the file is scanned for "__DSTRESS_DFLAGS__", and - if found - anything following it till the next line break is used as additional compiler flags. For those additional flags you probably have to replace "/" with "\\". See run/constructor_04.d for a sample.

> What does the resulting file look like? I don't have Linux set up on my machine, so I can't just run it and find out what the produced file looks like.

A bunch of raw result files: http://svn.kuehne.cn/dstress/raw_results/

In addition any other output - e.g. compiler errors, wrong assertions, etc. - gets appended to the "log.txt" file.

Thanks for your interest.

Thomas
November 22, 2004
Thomas Kuehne wrote:
> J C Calvarese schrieb am Tue, 16 Nov 2004 17:22:08 -0600:
> 
>>>I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines) to a make
>>>format supported by the make.exe distributed with dmd.
>>>(For the beginning all lines containing "complex" can be ignored as well as all
>>>"complex.mak" files.)
>>>
>>>It would be realy nice to be able to compare regression & bug tests results from Linux and Windows.
>>
>>Are you still looking for help towards this goal?
> 
> 
> Yes.
> 
> 
>>I'm no expert with makefiles, but I think I could rig-up a program to generate a batch file to output parallel results for Windows (based on the contents of a directory).
> 
> 
> This would be sweet ;) You can find the up-to-date Makefile at: http://svn.kuehne.cn/dstress/

Okay, I think it's close enough to let you try my program.

You might want to change the name of the output files and where my program is located (and I can help you with that if you want).

I've attached dstresstest.d and create_test.bat. All the other files should be created by running create_test.bat and then running test.bat.

All of these files are located in \dstress on my system. They can be placed elsewhere, but it'll require changing some code.

dstresstest.d    source code
create_test.bat  compiles dstresstest and creates test.bat
dstresstest.exe  produced by running create_test.bat
test.bat         produced by dstresstest.exe
win32_log.txt    produced by test.bat (logFile)
win32_dmd.txt    produced by test.bat (resultFile)

How does it look? I'm sure I could've done some things in the code differently, but I think the concept is valid and it works.

In the process of writing this program, I think I might have found a bug in DMD, but I found a work-around. Line 198 shouldn't be necessary (and it slows down the program), but the program doesn't work without it. I wonder if the problem is the string gets too long, but printing it "fixes" the problem.

I guess I'll try to nail down why the work-around is required, but it strikes me as a compiler bug and I always have a hard time producing a sufficiently short bug report.

-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/


November 22, 2004
J C Calvarese schrieb am Sun, 21 Nov 2004 18:46:45 -0600:
>>>>I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines) to a make
>>>>format supported by the make.exe distributed with dmd.
>>>>(For the beginning all lines containing "complex" can be ignored as well as all
>>>>"complex.mak" files.)
>>>>
>>>>It would be realy nice to be able to compare regression & bug tests results from Linux and Windows.
>>>
>>>Are you still looking for help towards this goal?
>> 
>> 
>> Yes.
>> 
>> 
>>>I'm no expert with makefiles, but I think I could rig-up a program to generate a batch file to output parallel results for Windows (based on the contents of a directory).
>> 
>> 
>> This would be sweet ;) You can find the up-to-date Makefile at: http://svn.kuehne.cn/dstress/
>
> Okay, I think it's close enough to let you try my program.
>
> You might want to change the name of the output files and where my program is located (and I can help you with that if you want).
>
> I've attached dstresstest.d and create_test.bat. All the other files should be created by running create_test.bat and then running test.bat.
>
> All of these files are located in \dstress on my system. They can be placed elsewhere, but it'll require changing some code.
>
> dstresstest.d    source code
> create_test.bat  compiles dstresstest and creates test.bat
> dstresstest.exe  produced by running create_test.bat
> test.bat         produced by dstresstest.exe
> win32_log.txt    produced by test.bat (logFile)
> win32_dmd.txt    produced by test.bat (resultFile)
>
> How does it look? I'm sure I could've done some things in the code differently, but I think the concept is valid and it works.

As std.recls is on strike ... I can't test it :{

I've done some 'blind' editing.

1) Started to change ":", "\\", "\r\n" to OS independent pathSep, dirSep and lineSep.

2) The files in benchmark partly depend on eachother, thus trying to compile them as stand-alone files doesn't make sense.

3) The files in "complex" are special - no way to write a generic test code for them.

4) added shouldRun/shouldntRun as todo targets

Hope I can get hold of a Windows box in order to try your code.

Thomas

November 23, 2004
Thomas Kuehne wrote:
> As std.recls is on strike ... I can't test it :{

I wonder if std.recls is compiled into the Linux version of Phobos. I vaguely remember that there used to be a problem where it was left out of the make routine for the Linux version or something like that.

> I've done some 'blind' editing.
> 
> 1) Started to change ":", "\\", "\r\n" to OS independent pathSep, dirSep and lineSep.
> 
> 2) The files in benchmark partly depend on eachother, thus trying to compile them as stand-alone files doesn't make sense.
> 
> 3) The files in "complex" are special - no way to write a generic test code for them.
> 
> 4) added shouldRun/shouldntRun as todo targets

Well, it still runs after I patched your changes, so I don't see anything wrong with them.

I'm attaching the latest results in case you want to examine them.

> 
> Hope I can get hold of a Windows box in order to try your code.

Oh, I didn't realize you didn't have access to a Windows machine. I just thought you prefered Linux.

> 
> Thomas


-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/


November 23, 2004
J C Calvarese schrieb am Dienstag, 23. November 2004 02:18:
>> As std.recls is on strike ... I can't test it :{
> 
> I wonder if std.recls is compiled into the Linux version of Phobos. I vaguely remember that there used to be a problem where it was left out of the make routine for the Linux version or something like that.

I played around with recls(1.5.2) and stlsoft-libs(1.7.1) but couldn't
compile them - neither with gcc-3.4.3 nor gcc-3.3.2 ...

> Well, it still runs after I patched your changes, so I don't see anything wrong with them.
Thanks for the results - As it turns out there were some issues. :D

1) I forgot a break statement
2) XFAIL and FAIL were mixed up
3) Stripped of the file ending in order to ease the table generation
    (*.html and *.htm are also valid source files)

I have added your files to DStress: http://svn.kuehne.cn/dstress/beta/

Thomas