From 6db04f4320cd5d24ae625dbc1df5a8a71b93e51d Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Sat, 10 Oct 2009 21:36:03 +0000 Subject: tests: Added simple test framework, added a couple of tests git-svn-id: http://pugixml.googlecode.com/svn/trunk@140 99668b35-9821-0410-8761-19e4c4f06640 --- Jamrules.jam | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'Jamrules.jam') diff --git a/Jamrules.jam b/Jamrules.jam index 43d817f..4fda7f4 100644 --- a/Jamrules.jam +++ b/Jamrules.jam @@ -25,16 +25,21 @@ actions RunAction $(>:\\) } -actions quietly ignore MakeDir +actions quietly ignore MakeDirAction { mkdir $(<:\\) >nul 2>&1 } +actions quietly ignore DeleteAction +{ + del /F $(>:\\) >nul 2>&1 +} + rule MakeFileDir TARGET { local DIR = $(TARGET:D) ; - MakeDir $(DIR) ; + MakeDirAction $(DIR) ; Needs $(TARGET) : $(DIR) ; } @@ -118,6 +123,21 @@ rule Application TARGET : SOURCES : LIBRARIES $(TARGET)_objects = $(OBJECTS) $($(LIBRARIES)_objects) ; } +rule CleanCoverage TARGET +{ + # make target + local CLEAN_TARGET = $(TARGET)_clean_coverage ; + + NotFile $(CLEAN_TARGET) ; + Always $(CLEAN_TARGET) ; + Depends $(TARGET) : $(CLEAN_TARGET) ; + + # clean object files + local FILES = $($(SOURCE)_objects:S=.gcda) ; + + DeleteAction $(CLEAN_TARGET) : $(FILES) ; +} + rule Test TARGET : SOURCE { # make alias @@ -128,6 +148,9 @@ rule Test TARGET : SOURCE # remember executable objects for coverage $(TARGET)_objects = $($(SOURCE)_objects) ; + + # clean coverage files before run + CleanCoverage $(TARGET) ; } rule Coverage TARGET : SOURCE -- cgit v1.2.3