Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Commit 0db36e8

Browse files
committed
add coverage options to core.runtime and leave merging off by default
1 parent f98e980 commit 0db36e8

File tree

8 files changed

+41
-16
lines changed

8 files changed

+41
-16
lines changed

src/core/runtime.d

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,12 +314,37 @@ struct Runtime
314314

315315

316316
private:
317+
317318
// NOTE: This field will only ever be set in a static ctor and should
318319
// never occur within any but the main thread, so it is safe to
319320
// make it __gshared.
320321
__gshared ModuleUnitTester sm_moduleUnitTester = null;
321322
}
322323

324+
/**
325+
* Set source file path for coverage reports.
326+
*
327+
* Params:
328+
* path = The new path name.
329+
*/
330+
extern (C) void dmd_coverSourcePath(string path);
331+
332+
/**
333+
* Set output path for coverage reports.
334+
*
335+
* Params:
336+
* path = The new path name.
337+
*/
338+
extern (C) void dmd_coverDestPath(string path);
339+
340+
/**
341+
* Enable merging of coverage reports with existing data.
342+
*
343+
* Params:
344+
* merge = enable/disable coverage merge mode
345+
*/
346+
extern (C) void dmd_coverSetMerge(bool flag);
347+
323348
///////////////////////////////////////////////////////////////////////////////
324349
// Overridable Callbacks
325350
///////////////////////////////////////////////////////////////////////////////

src/rt/cover.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private
5959
Cover[] gdata;
6060
string srcpath;
6161
string dstpath;
62-
bool merge = true;
62+
bool merge;
6363
}
6464
}
6565

test/coverage/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ LINKDL:=
1010
SRC:=src
1111
ROOT:=./obj/$(OS)/$(MODEL)
1212
NORMAL_TESTS:=$(addprefix $(ROOT)/,$(addsuffix .done,basic))
13-
MERGE_TESTS:=$(addprefix $(ROOT)/,$(addsuffix .done,merge merge_false))
13+
MERGE_TESTS:=$(addprefix $(ROOT)/,$(addsuffix .done,merge merge_true))
1414

1515
DIFF:=diff
1616

test/coverage/src-merge.lst.exp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
|int main()
22
|{
3-
2| return 0;
3+
1| return 0;
44
|}
55
src/merge.d is 100% covered

test/coverage/src-merge_false.lst.exp

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
|import core.runtime;
2+
|
3+
|void main()
4+
|{
5+
2| dmd_coverSetMerge(true);
6+
|}
7+
src/merge_true.d is 100% covered

test/coverage/src/merge_false.d

Lines changed: 0 additions & 6 deletions
This file was deleted.

test/coverage/src/merge_true.d

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import core.runtime;
2+
3+
void main()
4+
{
5+
dmd_coverSetMerge(true);
6+
}

0 commit comments

Comments
 (0)