www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - code coverage under Linux

reply Amaury <ammo32uzi hotmail.com> writes:
Hello,
I'm looking for testing the code coverage fonctionnality with dmd under Ubuntu
but it seems no to work.
The command :

$ dmd sieve -cov
$ sieve

Doesn't create a sieve.lst file... why ?

Thanks

Amaury
Nov 19 2008
next sibling parent reply Olli Aalto <oaalto gmail.com> writes:
Amaury wrote:
 Hello,
 I'm looking for testing the code coverage fonctionnality with dmd under Ubuntu
but it seems no to work.
 The command :
 
 $ dmd sieve -cov
 $ sieve
 
 Doesn't create a sieve.lst file... why ?
 
try: dmd -cov sieve.d ./sieve Works for me. O.
Nov 19 2008
parent reply Amaury <ammo32uzi hotmail.com> writes:
Hi,
I have already tried this and it doesn't work, I also tried with a sudo
command... Do I need something else than just dmd ?
Amaury

Olli Aalto Wrote:

 Amaury wrote:
 Hello,
 I'm looking for testing the code coverage fonctionnality with dmd under Ubuntu
but it seems no to work.
 The command :
 
 $ dmd sieve -cov
 $ sieve
 
 Doesn't create a sieve.lst file... why ?
 
try: dmd -cov sieve.d ./sieve Works for me. O.
Nov 20 2008
parent Walter Bright <newshound1 digitalmars.com> writes:
Amaury wrote:
 Hi, I have already tried this and it doesn't work, I also tried with
 a sudo command... Do I need something else than just dmd ? Amaury
No, you shouldn't need anything other than dmd.
Nov 20 2008
prev sibling next sibling parent reply Amaury <ammo32uzi hotmail.com> writes:
Walter Bright Wrote:

 Amaury wrote:
 Hi, I have already tried this and it doesn't work, I also tried with
 a sudo command... Do I need something else than just dmd ? Amaury
No, you shouldn't need anything other than dmd.
So it won't work!? :'(
Nov 21 2008
next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Amaury wrote:
 Walter Bright Wrote:
 
 Amaury wrote:
 Hi, I have already tried this and it doesn't work, I also tried with
 a sudo command... Do I need something else than just dmd ? Amaury
No, you shouldn't need anything other than dmd.
So it won't work!? :'(
What version of DMD are you using? What were your build options? Sean
Nov 21 2008
parent reply Amaury <ammo32uzi hotmail.com> writes:
My DMD version is : Digital Mars D Compiler v1.030
What do you mean by my build option? the options to build my .d?
I'm just trying the simple example of sieve : 

dmd -cov sieve.d
./sieve

no .lst is created.

Thx
Amaury

ps : note that I'm french and working to translate the "D 1.0 overview" in the
aim to make it attractive for french programmers, I'm fond of unit tests en
coverage... I'll post about this later, when done. 

Sean Kelly Wrote:

 Amaury wrote:
 Walter Bright Wrote:
 
 Amaury wrote:
 Hi, I have already tried this and it doesn't work, I also tried with
 a sudo command... Do I need something else than just dmd ? Amaury
No, you shouldn't need anything other than dmd.
So it won't work!? :'(
What version of DMD are you using? What were your build options? Sean
Nov 21 2008
parent Gide Nwawudu <gide btinternet.com> writes:
On Fri, 21 Nov 2008 12:38:58 -0500, Amaury <ammo32uzi hotmail.com>
wrote:

My DMD version is : Digital Mars D Compiler v1.030
What do you mean by my build option? the options to build my .d?
I'm just trying the simple example of sieve : 

dmd -cov sieve.d
./sieve

no .lst is created.
Works for me, it produces the following file sieve.d.lst, in both DMD 1.033 and 2.020. C:> dmd -cov sieve.d C:> sieve |import std.stdio; | |bool[8191] flags; | |int main() 5|{ int i, count, prime, k, iter; | 1| writefln("10 iterations"); 22| for (iter = 1; iter <= 10; iter++) 10| { count = 0; 10| flags[] = 1; 163840| for (i = 0; i < flags.length; i++) 81910| { if (flags[i]) 18990| { prime = i + i + 3; 18990| k = i + prime; 168980| while (k < flags.length) | { 149990| flags[k] = 0; 149990| k += prime; | } 18990| count += 1; | } | } | } 1| writefln("%d primes", count); 1| return 0; |} sieve.d is 100% covered Gide
Nov 22 2008
prev sibling parent Walter Bright <newshound1 digitalmars.com> writes:
Amaury wrote:
 Walter Bright Wrote:
 
 Amaury wrote:
 Hi, I have already tried this and it doesn't work, I also tried with
 a sudo command... Do I need something else than just dmd ? Amaury
No, you shouldn't need anything other than dmd.
So it won't work!? :'(
I have no idea why it isn't working for you. Doing coverage runs is part of the dmd test suite, so it was run and worked correctly for Windows and Ubuntu.
Nov 21 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Amaury wrote:
 Doesn't create a sieve.lst file... why ?
Looks like the problem is in libdruntime.a. It'll be fixed in the next update.
Nov 23 2008
next sibling parent Amaury <ammo32uzi hotmail.com> writes:
Walter Bright Wrote:

 Amaury wrote:
 Doesn't create a sieve.lst file... why ?
Looks like the problem is in libdruntime.a. It'll be fixed in the next update.
It would be great and useful. Thanks Amaury
Nov 24 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from Walter Bright (newshound1 digitalmars.com)'s article
 Amaury wrote:
 Doesn't create a sieve.lst file... why ?
Looks like the problem is in libdruntime.a. It'll be fixed in the next update.
I believe I've fixed this in the druntime svn trunk (still have to merge the changes to the D 1.0 branch). Sean
Nov 24 2008