1*cdf0e10cSrcweir#************************************************************************* 2*cdf0e10cSrcweir# 3*cdf0e10cSrcweir# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir# 5*cdf0e10cSrcweir# Copyright 2000, 2011 Oracle and/or its affiliates. 6*cdf0e10cSrcweir# 7*cdf0e10cSrcweir# OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir# 9*cdf0e10cSrcweir# This file is part of OpenOffice.org. 10*cdf0e10cSrcweir# 11*cdf0e10cSrcweir# OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir# it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir# only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir# 15*cdf0e10cSrcweir# OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir# but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir# GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir# (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir# 21*cdf0e10cSrcweir# You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir# version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir# <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir# for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir# 26*cdf0e10cSrcweir#************************************************************************* 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir 29*cdf0e10cSrcweir# JunitTest class 30*cdf0e10cSrcweir 31*cdf0e10cSrcweirgb_JunitTest_JAVACOMMAND := $(JAVAINTERPRETER) $(JAVAIFLAGS) 32*cdf0e10cSrcweir 33*cdf0e10cSrcweir# in non-product builds, ensure that tools-based assertions do not pop up as message box, but are routed to the shell 34*cdf0e10cSrcweirDBGSV_ERROR_OUT := shell 35*cdf0e10cSrcweirexport DBGSV_ERROR_OUT 36*cdf0e10cSrcweir 37*cdf0e10cSrcweir.PHONY : $(call gb_JunitTest_get_clean_target,%) 38*cdf0e10cSrcweir$(call gb_JunitTest_get_clean_target,%) : $(call gb_JavaClassSet_get_clean_target,$(call gb_JunitTest_get_classsetname,%)) 39*cdf0e10cSrcweir $(call gb_Helper_abbreviate_dirs,\ 40*cdf0e10cSrcweir rm -f $@ $@.log) 41*cdf0e10cSrcweir 42*cdf0e10cSrcweir.PHONY : $(call gb_JunitTest_get_target,$(1)) 43*cdf0e10cSrcweir$(call gb_JunitTest_get_target,%) : 44*cdf0e10cSrcweir $(call gb_Output_announce,$*,$(true),JUT,2) 45*cdf0e10cSrcweir $(call gb_Helper_abbreviate_dirs_native,\ 46*cdf0e10cSrcweir rm -rf $(call gb_JunitTest_get_userdir,$*) && \ 47*cdf0e10cSrcweir mkdir -p $(call gb_JunitTest_get_userdir,$*) && \ 48*cdf0e10cSrcweir $(gb_JunitTest_JAVACOMMAND) -cp "$(CLASSPATH)" $(DEFS) org.junit.runner.JUnitCore $(CLASSES) 2>&1 > $@.log || (cat $@.log && false) && \ 49*cdf0e10cSrcweir rm -rf $(call gb_JunitTest_get_userdir,$*)) 50*cdf0e10cSrcweir $(CLEAN_CMD) 51*cdf0e10cSrcweir 52*cdf0e10cSrcweirdefine gb_JunitTest_JunitTest 53*cdf0e10cSrcweir$(call gb_JunitTest_get_target,$(1)) : CLASSPATH := $(value XCLASSPATH)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(call gb_JunitTest_get_classsetname,$(1)))$(gb_CLASSPATHSEP)$(OOO_JUNIT_JAR)$(gb_CLASSPATHSEP)$(OUTDIR)/lib 54*cdf0e10cSrcweir$(call gb_JunitTest_get_target,$(1)) : CLASSES := 55*cdf0e10cSrcweir$(call gb_JunitTest_JunitTest_platform,$(1)) 56*cdf0e10cSrcweir 57*cdf0e10cSrcweir$(call gb_JavaClassSet_JavaClassSet,$(call gb_JunitTest_get_classsetname,$(1))) 58*cdf0e10cSrcweir$(call gb_JunitTest_get_target,$(1)) : $(call gb_JavaClassSet_get_target,$(call gb_JunitTest_get_classsetname,$(1))) 59*cdf0e10cSrcweir$(eval $(call gb_Module_register_target,$(call gb_JunitTest_get_target,$(1)),$(call gb_JunitTest_get_clean_target,$(1)))) 60*cdf0e10cSrcweirendef 61*cdf0e10cSrcweir 62*cdf0e10cSrcweirdefine gb_JunitTest_set_defs 63*cdf0e10cSrcweir$(call gb_JunitTest_get_target,$(1)) : DEFS := $(2) 64*cdf0e10cSrcweir 65*cdf0e10cSrcweirendef 66*cdf0e10cSrcweir 67*cdf0e10cSrcweirdefine gb_JunitTest_add_classes 68*cdf0e10cSrcweir$(call gb_JunitTest_get_target,$(1)) : CLASSES += $(2) 69*cdf0e10cSrcweir 70*cdf0e10cSrcweirendef 71*cdf0e10cSrcweir 72*cdf0e10cSrcweirdefine gb_JunitTest_add_class 73*cdf0e10cSrcweir$(call gb_JunitTest_add_classes,$(1),$(2)) 74*cdf0e10cSrcweir 75*cdf0e10cSrcweirendef 76*cdf0e10cSrcweir 77*cdf0e10cSrcweir 78*cdf0e10cSrcweirdefine gb_JunitTest_add_sourcefile 79*cdf0e10cSrcweir$(call gb_JavaClassSet_add_sourcefile,$(call gb_JunitTest_get_classsetname,$(1)),$(2)) 80*cdf0e10cSrcweir 81*cdf0e10cSrcweirendef 82*cdf0e10cSrcweir 83*cdf0e10cSrcweirdefine gb_JunitTest_add_sourcefiles 84*cdf0e10cSrcweir$(foreach sourcefile,$(2),$(call gb_JunitTest_add_sourcefile,$(1),$(sourcefile))) 85*cdf0e10cSrcweir 86*cdf0e10cSrcweirendef 87*cdf0e10cSrcweir 88*cdf0e10cSrcweirdefine gb_JunitTest_set_classpath 89*cdf0e10cSrcweir$(call gb_JunitTest_get_target,$(1)) : CLASSPATH := $(2) 90*cdf0e10cSrcweir 91*cdf0e10cSrcweirendef 92*cdf0e10cSrcweir 93*cdf0e10cSrcweirdefine gb_JunitTest_add_jar 94*cdf0e10cSrcweir$(call gb_JunitTest_get_target,$(1)) : CLASSPATH := $$(CLASSPATH)$(gb_CLASSPATHSEP)$(2) 95*cdf0e10cSrcweir$(call gb_JunitTest_get_target,$(1)) : $(2) 96*cdf0e10cSrcweir 97*cdf0e10cSrcweirendef 98*cdf0e10cSrcweir 99*cdf0e10cSrcweirdefine gb_JunitTest_add_jars 100*cdf0e10cSrcweir$(foreach jar,$(2),$(call gb_JunitTest_add_jar,$(1),$(jar))) 101*cdf0e10cSrcweir 102*cdf0e10cSrcweirendef 103*cdf0e10cSrcweir# vim: set noet sw=4 ts=4: 104