diff --git a/roottest/cmake/modules/RoottestCTest.cmake b/roottest/cmake/modules/RoottestCTest.cmake index fc7a039fca967..753f0796dfbc3 100644 --- a/roottest/cmake/modules/RoottestCTest.cmake +++ b/roottest/cmake/modules/RoottestCTest.cmake @@ -40,6 +40,7 @@ add_definitions( -DClingWorkAroundBrokenUnnamedReturn -DClingWorkAroundUnnamedDetection2 -DClingWorkAroundNoPrivateClassIO + -DClingWorkAroundUnloadingVTABLES ) # Variables to be used in CMakeLists.txt files. @@ -56,6 +57,7 @@ set(ClingWorkAroundMissingUnloading TRUE) # disabled in Mak set(ClingWorkAroundBrokenUnnamedReturn TRUE) # See https://sft.its.cern.ch/jira/browse/ROOT-4719 set(ClingWorkAroundNoPrivateClassIO TRUE) # See https://sft.its.cern.ch/jira/browse/ROOT-4865 set(ClingWorkAroundUnnamedDetection2 TRUE) # See https://sft.its.cern.ch/jira/browse/ROOT-8025 +set(ClingWorkAroundUnloadingVTABLES TRUE) # See https://sft.its.cern.ch/jira/browse/ROOT-6219 set(PYROOT_EXTRAFLAGS --fixcling) diff --git a/roottest/root/treeproxy/.rootrc b/roottest/root/treeproxy/.rootrc deleted file mode 100644 index ef1466ce48926..0000000000000 --- a/roottest/root/treeproxy/.rootrc +++ /dev/null @@ -1,2 +0,0 @@ -Rint.History: .root_hist -ACLiC.LinkLibs: 1 diff --git a/roottest/root/treeproxy/CMakeLists.txt b/roottest/root/treeproxy/CMakeLists.txt index 9ef16f434fe32..b5b94d82d17b3 100644 --- a/roottest/root/treeproxy/CMakeLists.txt +++ b/roottest/root/treeproxy/CMakeLists.txt @@ -1,8 +1,124 @@ -#------------------------------------------------------------------------------- -# -# Placeholder file to translate the tests to the new CTest system. Meanwhile we -# define a CTest test that calls 'make' in ${CMAKE_CURRENT_SOURCE_DIR} -# -#------------------------------------------------------------------------------- -ROOTTEST_ADD_OLDTEST(LABELS longtest) ROOTTEST_ADD_TESTDIRS() + +ROOTTEST_ADD_TEST(leaflist + MACRO runleaflist.C + COPY_TO_BUILDDIR simPosProxy.C hsimpleProxy.C + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF leaflist.ref) + +ROOTTEST_ADD_TEST(createRed + MACRO createRed.C + COPY_TO_BUILDDIR reduced.N00008257_0002.spill.sntp.R1_18.0.root sum.C + FIXTURES_SETUP root-treeproxy-createRed-fixture) + +ROOTTEST_ADD_TEST(reducedSpill + MACRO runreducedSpill.C + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF reducedSpill.ref + FIXTURES_REQUIRED root-treeproxy-createRed-fixture + FIXTURES_SETUP root-treeproxy-reducedSpill-fixture) + + +# was not run in Makefile, run after reducedSpill while creating same red.h file again +ROOTTEST_ADD_TEST(producereducedSpill + MACRO producereducedSpill.C + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF producereducedSpill.ref + FIXTURES_REQUIRED root-treeproxy-reducedSpill-fixture) + +ROOTTEST_ADD_TEST(createSearch + MACRO createSearch.C + COPY_TO_BUILDDIR p0dNuESearch.root pns.C + FIXTURES_SETUP root-treeproxy-createSearch-fixture) + +ROOTTEST_ADD_TEST(execsearch + MACRO execsearch.C + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF execsearch.ref + FIXTURES_REQUIRED root-treeproxy-createSearch-fixture) + +# copy files that produced TTrack class has proper set of class declaration file +ROOTTEST_ADD_TEST(copydim3files + COMMAND ${CMAKE_COMMAND} -E echo "copy dim3 files" + COPY_TO_BUILDDIR val3dim.C Track.h Track.C + FIXTURES_SETUP root-treeproxy-copydim3files-fixture) + +ROOTTEST_COMPILE_MACRO(Track.C + FIXTURES_REQUIRED root-treeproxy-copydim3files-fixture + FIXTURES_SETUP root-treeproxy-Track-fixture) + +ROOTTEST_COMPILE_MACRO(createvaldim3.C + BUILDLIB Track_C + FIXTURES_REQUIRED root-treeproxy-Track-fixture + FIXTURES_SETUP root-treeproxy-createvaldim3-fixture) + +ROOTTEST_ADD_TEST(val3dimSel + MACRO createvaldim3.C+ + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + FIXTURES_REQUIRED root-treeproxy-createvaldim3-fixture + FIXTURES_SETUP root-treeproxy-val3dimSel-fixture) + +ROOTTEST_COMPILE_MACRO(runvaldim3.C + FIXTURES_REQUIRED root-treeproxy-Track-fixture + FIXTURES_SETUP root-treeproxy-runvaldim3-fixture) + +ROOTTEST_ADD_TEST(valdim3 + MACRO runvaldim3.C+ + OUTREF valdim3.ref + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + -e "(void)gSystem->Load(\"Track_C\")" + FIXTURES_REQUIRED root-treeproxy-val3dimSel-fixture + root-treeproxy-runvaldim3-fixture) + +ROOTTEST_COMPILE_MACRO(runfullmc.C + FIXTURES_SETUP root-treeproxy-runfullmc-fixture) + +ROOTTEST_ADD_TEST(fullmcsel + MACRO runfullmc.C+ + MACROARG 4 + COPY_TO_BUILDDIR full-mcfile.root fullmc.cxx + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + FIXTURES_REQUIRED root-treeproxy-runfullmc-fixture + FIXTURES_SETUP root-treeproxy-fullmcsel-fixture) + +ROOTTEST_ADD_TEST(fullmc + MACRO runfullmc.C+ + MACROARG 5 + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF fullmc.ref + FIXTURES_REQUIRED root-treeproxy-runfullmc-fixture + root-treeproxy-fullmcsel-fixture) + +ROOTTEST_ADD_TEST(make_tuple + MACRO runmake_tuple.C + COPY_TO_BUILDDIR make_tuple.C make_tuple_draw.C + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF make_tuple.ref) + +ROOTTEST_ADD_TEST(friendchain + MACRO runfriendchain.C + COPY_TO_BUILDDIR vertex.C make_chains.cxx + longtree1.root longtree2.root + floattree1.root floattree2.root + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF friendchain.ref) + +ROOTTEST_ADD_TEST(btagobjsSel + MACRO runbtagobjs.C + MACROARG 4 + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + COPY_TO_BUILDDIR btagobjs.root btagobjsScript.h btagobjsScript.cxx + FIXTURES_SETUP root-treeproxy-btagobjsSel-fixture) + +ROOTTEST_ADD_TEST(btagobjsProxy + MACRO runbtagobjs.C + MACROARG 5 + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF btagobjsProxy.ref + FIXTURES_REQUIRED root-treeproxy-btagobjsSel-fixture) + +ROOTTEST_ADD_TEST(VectorProxyTest + MACRO execVectorProxyTest.C + COPY_TO_BUILDDIR VectorProxyTest.h VectorProxyTest.C VectorProxyTest.root + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF execVectorProxyTest.ref) diff --git a/roottest/root/treeproxy/Makefile b/roottest/root/treeproxy/Makefile deleted file mode 100644 index 7f00dfa6f1a15..0000000000000 --- a/roottest/root/treeproxy/Makefile +++ /dev/null @@ -1,180 +0,0 @@ -# %ROOTTEST-duration%:8 -# This is a template for all makefiles. - -#Set the list of files to be deleted by clean (Targets can also be specified).: -CLEAN_TARGETS += $(ALL_LIBRARIES) *.clog *.log red.h generatedSel.h val3dimSel.h forproxy.root \ - withfriend.h *.rootmap make_tuple.root make_tuple_sel.h \ - btagobjsSel.h fullmcSel.h searchSelector.h - -# Set the list of target to make while testing. By default, mytest is the -# only target added. If the name of the target is changed in the rules then -# the name should be changed accordingly in this list. - -TEST_TARGETS += search reducedSpill leaflist valdim3 make_tuple friendchain btagobjsProxy fullmc - -# Search for Rules.mk in roottest/scripts -# Algorithm: Find the current working directory and remove everything after -# '*roottest/'. Append the path for Rules.mk from within roottest, which -# should be 'scripts/Rules.mk'. The roottest path is saved in the -# ROOTTEST_HOME variable for use by the SUBDIRECTORIES variable and is -# exported to eliminate the overhead of findding the path again during -# recursive calls of gmake. -# Since all makefiles should be under roottest or one of its -# subdirectories and all recursions of gmake are called by -# 'cd [DIR]; gmake ...' -# this algorithm should not fail in finding /roottest/ in the -# current working directory. -# Issues: This algorithm will fail if a makefile is called from outside the -# roottest folder, as in executing 'gmake -f ~/roottest/Makefile' from -# the home directory. - -ifeq ($(strip $(ROOTTEST_HOME)),) - export ROOTTEST_HOME := $(shell git rev-parse --show-toplevel)/roottest/ - ifeq ($(strip $(ROOTTEST_HOME)),) - export ROOTTEST_HOME := $(shell expr $(CURDIR) : '\(.*/roottest/\)') - endif - ifeq ($(strip $(ROOTTEST_HOME)),) - $(error The head of roottest was not found. Set ROOTTEST_HOME) - endif -endif - -include $(ROOTTEST_HOME)/scripts/Rules.mk - -ifneq ($(MAKECMDGOALS),clean) --include $(wildcard *.d) -endif - -# The name of this target should be changed according to the test being run. Any name changes -# should also be reflected in the TEST_TARGETS variable above. - -mytest: - $(CMDECHO) echo mytest > /dev/null - - -# Outputs a message if the FAIL variable is null - -testWithFailure: -ifeq ($(FAIL),) - $(WarnFailTest) -endif - - -# Remember that sometest.log can be made automatically from -# from runsometest.C -# This target attempts to create a log file (which should be the output of running the test), and -# compares its output with a prebuilt reference file. The reference file should be copied from -# the log files produced during what is considered a successful run of the test. The testWithDiff -# files should be renamed according to the test being run. -# By default the TestDiff variable is set to compare the .log and .ref files -# To run a diff and ignore whitespacing use $(TestDiffW) - -testWithDiff: testWithDiff.log testWithDiff.ref - $(TestDiff) - -define hideLibraryCreation - grep -v -e ACLiC -e 'creating shared library' -e 'Creating library' \ - -e _cint.cxx -e '_[0-9]*.cxx' -e '_.cxx' \ - -e 'Warning in : class generatedSel already in TClassTable' -endef - -leaflist.log: simPosProxy.C hsimpleProxy.C Makefile runleaflist.C - $(CMDECHO) $(CALLROOTEXE) -q -b -l runleaflist.C > leaflist.raw.log 2>&1 ; result=$$? ; cat leaflist.raw.log | $(hideLibraryCreation) > leaflist.log ; \ - test $$result -eq 0 || handleError.sh --result=$$? --log=$@ --test=$@ - -leaflist: leaflist.log - $(TestDiff) - -producereducedSpill.log: producereducedSpill.C - $(CMDECHO) $(CALLROOTEXE) -q -l -b producereducedSpill.C > producereducedSpill.raw.log 2>&1 ; result=$$? ; cat producereducedSpill.raw.log | $(RemoveDirs) > producereducedSpill.log ; \ - test $$result -eq 0 || handleError.sh --result=$$? --log=$@ --test=$@ - -producereducedSpill: producereducedSpill.log - $(TestDiff) - -reducedSpill.log: red_h.$(DllSuf) - -reducedSpill: reducedSpill.log - $(TestDiff) - -red.h: - $(CMDECHO) $(CALLROOTEXE) -q -l -b createRed.C > createRed.log 2>&1 - -execsearch.log: searchSelector_h.$(DllSuf) - -searchSelector.h: createSearch.C - $(CMDECHO) $(CALLROOTEXE) -q -l -b createSearch.C > createSearch.log 2>&1 || handleError.sh --result=$$? --log=createSearch.log --test=createSearch - -Track_C.$(DllSuf): Track.h - -forproxy.root: createvaldim3_C.$(DllSuf) - $(CMDECHO) $(CALLROOTEXE) -q -b -l createvaldim3.C+ > createvaldim3.log 2>&1 || handleError.sh --result=$$? --log=createvaldim3.log --test=$@ --rm=$@ - -val3dimSel.h: createvaldim3_C.$(DllSuf) forproxy.root - $(CMDECHO) rm -f val3dimSel.h; $(CALLROOTEXE) -q -b -l createvaldim3.C+ > createvaldim3.log 2>&1 || handleError.sh --result=$$? --log=createvaldim3.log --test=$@ --rm=$@ - -createvaldim3_C.$(DllSuf): createvaldim3.C Track_C.$(DllSuf) - $(BuildWithLib) -ifneq ($(shell root-config --arch | grep mac),) -ifeq ($(FAIL),) - $(WarnFailTest) -# see include file in createvaldim3.C -endif -endif - -runvaldim3_C.$(DllSuf): runvaldim3.C Track_C.$(DllSuf) - $(BuildWithLib) - -val3dimSel_h.$(DllSuf): val3dimSel.h createvaldim3_C.$(DllSuf) Track_C.$(DllSuf) - $(BuildWithLib) - -valdim3.log: val3dimSel_h.$(DllSuf) forproxy.root - -valdim3: valdim3.log - $(TestDiff) - -fullmcSel.h: fullmc.cxx $(CORELIBS) runfullmc_C.$(DllSuf) full-mcfile.root - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runfullmc.C+(4)' > fullmcSel_h.create.log 2>&1 || handleError.sh --result=$$? --log=fullmcSel_h.create.log --test=$@ --rm=$@ - -fullmc.clog: fullmcSel_h.$(DllSuf) $(CORELIBS) runfullmc_C.$(DllSuf) fullmc.cxx full-mcfile.root fullmcSel.h - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runfullmc.C+(5)' > fullmc.clog 2>&1 || handleError.sh --result=$$? --log=$@ --test=$@ - -fullmc: fullmc.clog - $(TestDiffW) - -make_tuple.log: runmake_tuple.C make_tuple.C make_tuple_draw.C $(CORELIBS) - $(CMDECHO) $(CALLROOTEXE) -b -q -l runmake_tuple.C > make_tuple.raw.log 2>&1 ; result=$$? ; cat make_tuple.raw.log | $(hideLibraryCreation) > make_tuple.log ; \ - test $$result -eq 0 || handleError.sh --result=$$? --log=$@ --test=$@ - -make_tuple: make_tuple.log - $(TestDiffW) - -ifneq ($(ClingWorkAroundMissingAutoLoading),) -friendchain.log: CALLROOTEXE += -e 'gSystem->Load("libTree");' -endif - -friendchain.log: runfriendchain.C vertex.C make_chains.cxx $(CORELIBS) - $(CMDECHO) $(CALLROOTEXE) -b -q -l runfriendchain.C > friendchain.raw.log 2>&1; result=$$? ; cat friendchain.raw.log | $(hideLibraryCreation) > friendchain.log ; \ - test $$result -eq 0 || handleError.sh --result=$$? --log=$@ --test=$@ - -friendchain: friendchain.log - $(TestDiffW) - -ifneq ($(ClingWorkAroundMissingAutoLoading),) -btagobjsSel.h: CALLROOTEXE += -e 'gSystem->Load("libTreePlayer"); gSystem->Load("libPhysics");' -btagobjsProxy.clog: CALLROOTEXE += -e 'gSystem->Load("libTreePlayer"); gSystem->Load("libPhysics");' -endif - -btagobjsSel.h: btagobjsScript.h btagobjsScript.cxx $(CORELIBS) runbtagobjs.C btagobjs.root - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runbtagobjs.C(4)' > btagProxySel_h.create.log 2>&1 || handleError.sh --result=$$? --log=btagProxySel_h.create.log --test=$@ --rm=$@ - -btagobjsProxy.clog: btagobjsSel_h.$(DllSuf) $(CORELIBS) btagobjs.root runbtagobjs.C - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runbtagobjs.C(5)' > $@ 2>&1 ; result=$$? ; \ - test $$result -eq 0 || handleError.sh --result=$$? --log=$@ --test=$@ - -btagobjsProxy: btagobjsProxy.clog - $(TestDiffW) - -ifneq ($(ClingWorkAroundMissingAutoLoading)$(ClingWorkAroundMissingSmartInclude),) -valdim3.log: CALLROOTEXE += -e 'gSystem->Load("libTreePlayer"); gSystem->Load("Track_C");' -endif - diff --git a/roottest/root/treeproxy/SpecialDirs b/roottest/root/treeproxy/SpecialDirs deleted file mode 100644 index 56b91801c8708..0000000000000 --- a/roottest/root/treeproxy/SpecialDirs +++ /dev/null @@ -1 +0,0 @@ -vectorint diff --git a/roottest/root/treeproxy/Track.C b/roottest/root/treeproxy/Track.C index e8e87807d4acd..2c175c90833b2 100644 --- a/roottest/root/treeproxy/Track.C +++ b/roottest/root/treeproxy/Track.C @@ -1,5 +1,5 @@ #include "Track.h" -#if defined(__MAKECINT__) && !defined(R__ACLIC_ROOTMAP) +#ifdef __ROOTCLING__ #pragma link C++ class Track+; #endif diff --git a/roottest/root/treeproxy/Track.h b/roottest/root/treeproxy/Track.h index 4c40797133257..ba355eb60b7d6 100644 --- a/roottest/root/treeproxy/Track.h +++ b/roottest/root/treeproxy/Track.h @@ -14,7 +14,7 @@ class Track : public TObject { } } } - ClassDef(Track,1); + ClassDefOverride(Track,1); }; #endif diff --git a/roottest/root/treeproxy/createvaldim3.C b/roottest/root/treeproxy/createvaldim3.C index 524e0e3df53c7..1d23f0677fab6 100644 --- a/roottest/root/treeproxy/createvaldim3.C +++ b/roottest/root/treeproxy/createvaldim3.C @@ -1,19 +1,17 @@ #include #include +#include #include +#include "Track.h" -#if defined(R__MACOSX) && !defined(MAC_OS_X_VERSION_10_5) -# include "Track.C" -#else -# if defined(__CINT__) && !defined(__MAKECINT__) -# include "Track.C+" -# else -# include "Track.h" -# endif -#endif - -void createvaldim3(bool process = false) +void createvaldim3(bool process = false) { + auto cl = TClass::GetClass("Track"); + + printf("Track class %p\n", cl); + + if (cl) printf("Declaration file %s\n", cl->GetDeclFileName()); + Double_t a[2][3][4]; Double_t bb[2][3]; Int_t c[2]; @@ -47,5 +45,5 @@ void createvaldim3(bool process = false) t->MakeProxy("val3dimSel","val3dim.C"); if (process) t->Process("val3dimSel.h+"); - + } diff --git a/roottest/root/treeproxy/producereducedSpill.ref b/roottest/root/treeproxy/producereducedSpill.ref index 96623cbf702cf..7a25c021333e3 100644 --- a/roottest/root/treeproxy/producereducedSpill.ref +++ b/roottest/root/treeproxy/producereducedSpill.ref @@ -1,306 +1,19 @@ Processing producereducedSpill.C... -Warning in : no dictionary for class CNtEventHeader is available -Warning in : no dictionary for class CNtEventSummary is available -Warning in : no dictionary for class CNtVertex is available -Warning in : no dictionary for class CNtSpillSummary is available -Warning in : no dictionary for class CNtMCTruth is available -Warning in : no dictionary for class CNtMCParticle is available -Warning in : no dictionary for class CNtBeamInfo is available -Warning in : no dictionary for class CNtTrack is available -Warning in : no dictionary for class CNtFiducial is available -Warning in : no dictionary for class CNtShower is available -Warning in : no dictionary for class CNtStrip is available -Warning in : no dictionary for class CNtStdHep is available -Warning in : no dictionary for class CADNtpSREventCut is available -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "beg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "end" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidbeg" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidend" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "fidall" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Warning in : The branch name "fUniqueID" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Warning in : The branch name "fBits" is duplicated. Only the first instance +Warning in : no dictionary for class CNtEventHeader is available +Warning in : no dictionary for class CNtEventSummary is available +Warning in : no dictionary for class CNtVertex is available +Warning in : no dictionary for class CNtSpillSummary is available +Warning in : no dictionary for class CNtMCTruth is available +Warning in : no dictionary for class CNtMCParticle is available +Warning in : no dictionary for class CNtBeamInfo is available +Warning in : no dictionary for class CNtTrack is available +Warning in : no dictionary for class CNtFiducial is available +Warning in : no dictionary for class CNtShower is available +Warning in : no dictionary for class CNtStrip is available +Warning in : no dictionary for class CNtStdHep is available +Warning in : no dictionary for class CADNtpSREventCut is available +Warning in : The branch name "baseTObject" is duplicated. Only the first instance will be available directly. The other instance(s) might be available via their complete name (including the name of their mother branche's name). Warning in : The branch name "index" is duplicated. Only the first instance @@ -333,98 +46,7 @@ Warning in : The branch name "ph" is duplicated. Only the f Warning in : The branch name "stp" is duplicated. Only the first instance will be available directly. The other instance(s) might be available via their complete name (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Error in : Unexpectly read more than one branch in AnalyzeTree. -Warning in : The branch name "vtx" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Warning in : The branch name "fUniqueID" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Warning in : The branch name "fBits" is duplicated. Only the first instance +Warning in : The branch name "baseTObject" is duplicated. Only the first instance will be available directly. The other instance(s) might be available via their complete name (including the name of their mother branche's name). Warning in : The branch name "stp" is duplicated. Only the first instance @@ -433,9 +55,6 @@ Warning in : The branch name "stp" is duplicated. Only the Warning in : The branch name "ph" is duplicated. Only the first instance will be available directly. The other instance(s) might be available via their complete name (including the name of their mother branche's name). -Warning in : The branch name "fUniqueID" is duplicated. Only the first instance - will be available directly. The other instance(s) might be available via their complete name - (including the name of their mother branche's name). -Warning in : The branch name "fBits" is duplicated. Only the first instance +Warning in : The branch name "baseTObject" is duplicated. Only the first instance will be available directly. The other instance(s) might be available via their complete name (including the name of their mother branche's name). diff --git a/roottest/root/treeproxy/runleaflist.C b/roottest/root/treeproxy/runleaflist.C index bb2d50875bb99..e498f71aad3a4 100644 --- a/roottest/root/treeproxy/runleaflist.C +++ b/roottest/root/treeproxy/runleaflist.C @@ -1,7 +1,7 @@ struct simPos { simPos() : X(0),Y(-1),Z(-2) {}; simPos(int val) : X(val),Y(val+2),Z(val+4) {}; - + float X; float Y; float Z; @@ -10,6 +10,7 @@ struct simPos { void runleaflist(int kase = 0) { simPos pos(3); + TFile::Open("leaflist.root","recreate"); TTree *vertexTree = new TTree; vertexTree->Branch("simPos.",&pos,"X/F:Y/F:Z/F:3A"); vertexTree->Fill(); diff --git a/roottest/root/treeproxy/runvaldim3.C b/roottest/root/treeproxy/runvaldim3.C index 5f70f9be531b8..076f9b736e1c9 100644 --- a/roottest/root/treeproxy/runvaldim3.C +++ b/roottest/root/treeproxy/runvaldim3.C @@ -2,15 +2,7 @@ #include #include -#if defined(__CINT__) && !defined(__MAKECINT__) -#include "Track.C+" -#elif defined(__CLING__) && !defined(__MAKECLING__) && !defined(ClingWorkAroundMissingSmartInclude) -#include "Track.C+" -#else -#include "Track.h" -#endif - -void runvaldim3() +void runvaldim3() { TFile file("forproxy.root"); TTree *t; file.GetObject("t",t); diff --git a/roottest/root/treeproxy/simPosProxy.C b/roottest/root/treeproxy/simPosProxy.C index d58d92da85b25..7efe31ec02dd3 100755 --- a/roottest/root/treeproxy/simPosProxy.C +++ b/roottest/root/treeproxy/simPosProxy.C @@ -1,5 +1,5 @@ double simPosProxy() { - cout << simPos.X << " " << simPos.Y << " " << simPos.Z << endl; + std::cout << simPos.X << " " << simPos.Y << " " << simPos.Z << std::endl; return simPos.X; } diff --git a/roottest/root/treeproxy/split/.rootrc b/roottest/root/treeproxy/split/.rootrc deleted file mode 100644 index 6ebe75fd4ec5a..0000000000000 --- a/roottest/root/treeproxy/split/.rootrc +++ /dev/null @@ -1 +0,0 @@ -Rint.History: .root_hist diff --git a/roottest/root/treeproxy/split/CMakeLists.txt b/roottest/root/treeproxy/split/CMakeLists.txt new file mode 100644 index 0000000000000..638ed5b364014 --- /dev/null +++ b/roottest/root/treeproxy/split/CMakeLists.txt @@ -0,0 +1,5 @@ +ROOTTEST_ADD_TEST(NonSplitBranchMakeProxy + MACRO execNonSplitBranchMakeProxy.C + COPY_TO_BUILDDIR MyTree0_script.cxx MyTree99_script.cxx + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + OUTREF execNonSplitBranchMakeProxy.ref) diff --git a/roottest/root/treeproxy/split/Makefile b/roottest/root/treeproxy/split/Makefile deleted file mode 100644 index e3d5f1ef41793..0000000000000 --- a/roottest/root/treeproxy/split/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# This is a template for all makefiles. - -#Set the list of files to be deleted by clean (Targets can also be specified).: -CLEAN_TARGETS += $(ALL_LIBRARIES) *.log *.clog MyTree.root MyTree99.h MyTree0.h - -# Set the list of target to make while testing. By default, mytest is the -# only target added. If the name of the target is changed in the rules then -# the name should be changed accordingly in this list. - -TEST_TARGETS += - -# Search for Rules.mk in roottest/scripts -# Algorithm: Find the current working directory and remove everything after -# '*roottest/'. Append the path for Rules.mk from within roottest, which -# should be 'scripts/Rules.mk'. The roottest path is saved in the -# ROOTTEST_HOME variable for use by the SUBDIRECTORIES variable and is -# exported to eliminate the overhead of findding the path again during -# recursive calls of gmake. -# Since all makefiles should be under roottest or one of its -# subdirectories and all recursions of gmake are called by -# 'cd [DIR]; gmake ...' -# this algorithm should not fail in finding /roottest/ in the -# current working directory. -# Issues: This algorithm will fail if a makefile is called from outside the -# roottest folder, as in executing 'gmake -f ~/roottest/Makefile' from -# the home directory. - -ifeq ($(strip $(ROOTTEST_HOME)),) - export ROOTTEST_HOME := $(shell git rev-parse --show-toplevel)/roottest/ - ifeq ($(strip $(ROOTTEST_HOME)),) - export ROOTTEST_HOME := $(shell expr $(CURDIR) : '\(.*/roottest/\)') - endif - ifeq ($(strip $(ROOTTEST_HOME)),) - $(error The head of roottest was not found. Set ROOTTEST_HOME) - endif -endif - -include $(ROOTTEST_HOME)/scripts/Rules.mk - - -# The name of this target should be changed according to the test being run. Any name changes -# should also be reflected in the TEST_TARGETS variable above. - -mytest: - $(CMDECHO) echo mytest > /dev/null - - -# Outputs a message if the FAIL variable is null - -testWithFailure: -ifeq ($(FAIL),) - $(WarnFailTest) -endif - - -# Remember that sometest.log can be made automatically from -# from runsometest.C -# This target attempts to create a log file (which should be the output of running the test), and -# compares its output with a prebuilt reference file. The reference file should be copied from -# the log files produced during what is considered a successful run of the test. The testWithDiff -# files should be renamed according to the test being run. -# By default the TestDiff variable is set to compare the .log and .ref files -# To run a diff and ignore whitespacing use $(TestDiffW) - -testWithDiff: testWithDiff.log testWithDiff.ref - $(TestDiff) diff --git a/roottest/root/treeproxy/stlvec/.rootrc b/roottest/root/treeproxy/stlvec/.rootrc deleted file mode 100644 index 6ebe75fd4ec5a..0000000000000 --- a/roottest/root/treeproxy/stlvec/.rootrc +++ /dev/null @@ -1 +0,0 @@ -Rint.History: .root_hist diff --git a/roottest/root/treeproxy/stlvec/CMakeLists.txt b/roottest/root/treeproxy/stlvec/CMakeLists.txt new file mode 100644 index 0000000000000..9db66038ab534 --- /dev/null +++ b/roottest/root/treeproxy/stlvec/CMakeLists.txt @@ -0,0 +1,10 @@ +ROOTTEST_ADD_TEST(selector + MACRO createtlorentzvecproxy.C + COPY_TO_BUILDDIR tlorentzvec.root analyze.h analyze.C cutting.h cutting.C + FIXTURES_SETUP root-treeproxy-stlvec-selector-fixture) + +ROOTTEST_ADD_TEST(tlorentzvec + MACRO runtlorentzvec.C + OUTREF tlorentzvec.ref + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + FIXTURES_REQUIRED root-treeproxy-stlvec-selector-fixture) diff --git a/roottest/root/treeproxy/stlvec/Makefile b/roottest/root/treeproxy/stlvec/Makefile deleted file mode 100644 index 8c543d9191cbd..0000000000000 --- a/roottest/root/treeproxy/stlvec/Makefile +++ /dev/null @@ -1,74 +0,0 @@ -# This is a template for all makefiles. - -#Set the list of files to be deleted by clean (Targets can also be specified).: -CLEAN_TARGETS += $(ALL_LIBRARIES) *.log *.clog tlorentzvecProxy.h - -# Set the list of target to make while testing. By default, mytest is the -# only target added. If the name of the target is changed in the rules then -# the name should be changed accordingly in this list. - -TEST_TARGETS += tlorentzvec mytest - -# Search for Rules.mk in roottest/scripts -# Algorithm: Find the current working directory and remove everything after -# '*roottest/'. Append the path for Rules.mk from within roottest, which -# should be 'scripts/Rules.mk'. The roottest path is saved in the -# ROOTTEST_HOME variable for use by the SUBDIRECTORIES variable and is -# exported to eliminate the overhead of findding the path again during -# recursive calls of gmake. -# Since all makefiles should be under roottest or one of its -# subdirectories and all recursions of gmake are called by -# 'cd [DIR]; gmake ...' -# this algorithm should not fail in finding /roottest/ in the -# current working directory. -# Issues: This algorithm will fail if a makefile is called from outside the -# roottest folder, as in executing 'gmake -f ~/roottest/Makefile' from -# the home directory. - -ifeq ($(strip $(ROOTTEST_HOME)),) - export ROOTTEST_HOME := $(shell git rev-parse --show-toplevel)/roottest/ - ifeq ($(strip $(ROOTTEST_HOME)),) - export ROOTTEST_HOME := $(shell expr $(CURDIR) : '\(.*/roottest/\)') - endif - ifeq ($(strip $(ROOTTEST_HOME)),) - $(error The head of roottest was not found. Set ROOTTEST_HOME) - endif -endif - -include $(ROOTTEST_HOME)/scripts/Rules.mk - - -# The name of this target should be changed according to the test being run. Any name changes -# should also be reflected in the TEST_TARGETS variable above. - -mytest: - $(CMDECHO) echo mytest > /dev/null - - -# Outputs a message if the FAIL variable is null - -testWithFailure: -ifeq ($(FAIL),) - $(WarnFailTest) -endif - - -# Remember that sometest.log can be made automatically from -# from runsometest.C -# This target attempts to create a log file (which should be the output of running the test), and -# compares its output with a prebuilt reference file. The reference file should be copied from -# the log files produced during what is considered a successful run of the test. The testWithDiff -# files should be renamed according to the test being run. -# By default the TestDiff variable is set to compare the .log and .ref files -# To run a diff and ignore whitespacing use $(TestDiffW) - -testWithDiff: testWithDiff.log testWithDiff.ref - $(TestDiff) - -tlorentzvecProxy.h: $(ROOTCORELIBS) createtlorentzvecproxy.C tlorentzvec.root analyze.C analyze.h cutting.C cutting.h - $(CMDECHO) $(CALLROOTEXE) -b -l -q createtlorentzvecproxy.C > createtlorentzvecproxy.log 2>&1 - -tlorentzvec.log: tlorentzvecProxy_h.$(DllSuf) - -tlorentzvec: tlorentzvec.log - $(TestDiff) diff --git a/roottest/root/treeproxy/vectorint/CMakeLists.txt b/roottest/root/treeproxy/vectorint/CMakeLists.txt index 9ef16f434fe32..8924e159ba612 100644 --- a/roottest/root/treeproxy/vectorint/CMakeLists.txt +++ b/roottest/root/treeproxy/vectorint/CMakeLists.txt @@ -1,8 +1,55 @@ -#------------------------------------------------------------------------------- -# -# Placeholder file to translate the tests to the new CTest system. Meanwhile we -# define a CTest test that calls 'make' in ${CMAKE_CURRENT_SOURCE_DIR} -# -#------------------------------------------------------------------------------- -ROOTTEST_ADD_OLDTEST(LABELS longtest) -ROOTTEST_ADD_TESTDIRS() +ROOTTEST_ADD_TEST(copymacros + COMMAND ${CMAKE_COMMAND} -E echo "copy files" + COPY_TO_BUILDDIR dude.h dude.C dude.cxx runvectorint.C runvectorintEmu.C + FIXTURES_SETUP root-treeproxy-vectorint-copymacros-fixture) + +ROOTTEST_COMPILE_MACRO(runvectorint.C + FIXTURES_REQUIRED root-treeproxy-vectorint-copymacros-fixture + FIXTURES_SETUP root-treeproxy-vectorint-runvectorint_C-fixture) + +ROOTTEST_ADD_TEST(createfile + MACRO runvectorint.C+ + MACROARG 3 + FIXTURES_REQUIRED root-treeproxy-vectorint-copymacros-fixture + root-treeproxy-vectorint-runvectorint_C-fixture + FIXTURES_SETUP root-treeproxy-vectorint-createfile-fixture) + +ROOTTEST_ADD_TEST(createselector + MACRO runvectorint.C+ + MACROARG 4 + FIXTURES_REQUIRED root-treeproxy-vectorint-copymacros-fixture + root-treeproxy-vectorint-runvectorint_C-fixture + root-treeproxy-vectorint-createfile-fixture + FIXTURES_SETUP root-treeproxy-vectorint-createselector-fixture) + +ROOTTEST_ADD_TEST(vectorint + MACRO runvectorint.C+ + MACROARG 5 + OUTREF vectorint.ref + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + FIXTURES_REQUIRED root-treeproxy-vectorint-copymacros-fixture + root-treeproxy-vectorint-runvectorint_C-fixture + root-treeproxy-vectorint-createfile-fixture + root-treeproxy-vectorint-createselector-fixture) + +ROOTTEST_COMPILE_MACRO(runvectorintEmu.C + FIXTURES_REQUIRED root-treeproxy-vectorint-copymacros-fixture + FIXTURES_SETUP root-treeproxy-vectorint-runvectorintEmu_C-fixture) + +ROOTTEST_ADD_TEST(createselectorEmu + MACRO runvectorintEmu.C+ + MACROARG 4 + FIXTURES_REQUIRED root-treeproxy-vectorint-copymacros-fixture + root-treeproxy-vectorint-runvectorintEmu_C-fixture + root-treeproxy-vectorint-createfile-fixture + FIXTURES_SETUP root-treeproxy-vectorint-createselectorEmu-fixture) + +ROOTTEST_ADD_TEST(vectorintEmu + MACRO runvectorintEmu.C+ + MACROARG 5 + OUTREF vectorintEmu.ref + ROOTEXE_OPTS -e "(void)gROOT->SetMacroPath(\"${CMAKE_CURRENT_BINARY_DIR}\")" + FIXTURES_REQUIRED root-treeproxy-vectorint-copymacros-fixture + root-treeproxy-vectorint-runvectorintEmu_C-fixture + root-treeproxy-vectorint-createfile-fixture + root-treeproxy-vectorint-createselectorEmu-fixture) diff --git a/roottest/root/treeproxy/vectorint/Makefile b/roottest/root/treeproxy/vectorint/Makefile deleted file mode 100644 index 7db9027ca5524..0000000000000 --- a/roottest/root/treeproxy/vectorint/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -# %ROOTTEST-duration%:8 -# This is a template for all makefiles. - -#Set the list of files to be deleted by clean (Targets can also be specified).: -CLEAN_TARGETS += $(ALL_LIBRARIES) *.clog *.log \ - vec.root vectorintSel.h vectorintEmuSel.h *.rootmap - -# Set the list of target to make while testing. By default, mytest is the -# only target added. If the name of the target is changed in the rules then -# the name should be changed accordingly in this list. - -TEST_TARGETS += vectorint vectorintEmu - -# Search for Rules.mk in roottest/scripts -# Algorithm: Find the current working directory and remove everything after -# '*roottest/'. Append the path for Rules.mk from within roottest, which -# should be 'scripts/Rules.mk'. The roottest path is saved in the -# ROOTTEST_HOME variable for use by the SUBDIRECTORIES variable and is -# exported to eliminate the overhead of findding the path again during -# recursive calls of gmake. -# Since all makefiles should be under roottest or one of its -# subdirectories and all recursions of gmake are called by -# 'cd [DIR]; gmake ...' -# this algorithm should not fail in finding /roottest/ in the -# current working directory. -# Issues: This algorithm will fail if a makefile is called from outside the -# roottest folder, as in executing 'gmake -f ~/roottest/Makefile' from -# the home directory. - -ifeq ($(strip $(ROOTTEST_HOME)),) - export ROOTTEST_HOME := $(shell git rev-parse --show-toplevel)/roottest/ - ifeq ($(strip $(ROOTTEST_HOME)),) - export ROOTTEST_HOME := $(shell expr $(CURDIR) : '\(.*/roottest/\)') - endif - ifeq ($(strip $(ROOTTEST_HOME)),) - $(error The head of roottest was not found. Set ROOTTEST_HOME) - endif -endif - -include $(ROOTTEST_HOME)/scripts/Rules.mk - -ifneq ($(MAKECMDGOALS),clean) --include $(wildcard *.d) -endif - -# The name of this target should be changed according to the test being run. Any name changes -# should also be reflected in the TEST_TARGETS variable above. - -# Outputs a message if the FAIL variable is null - -testWithFailure: -ifeq ($(FAIL),) - $(WarnFailTest) -endif - - -define hideLibraryCreation - grep -v -e ACLiC -e 'creating shared library' -e 'Creating library' \ - -e _cint.cxx -e '_[0-9]*.cxx' -e '_.cxx' \ - -e 'Warning in : class generatedSel already in TClassTable' -endef - -vec.root: $(CORELIBS) runvectorint_C.$(DllSuf) - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runvectorint.C+(3)' > vec.create.log 2>&1 || handleError.sh --result=$$? --log=vec.create.log --test=$@ --rm=$@ - -vectorintSel.h: dude.h dude.C $(CORELIBS) runvectorint_C.$(DllSuf) vec.root - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runvectorint.C+(4)' > vectorintSel_h.create.log 2>&1 || handleError.sh --result=$$? --log=vectorintSel_h.create.log --test=$@ --rm=$@ - -#vectorintSel_h.$(DllSuf): vectorintSel.h dude.h dude.C vec.root - -vectorint.clog: vectorintSel_h.$(DllSuf) $(CORELIBS) runvectorint_C.$(DllSuf) dude.C vec.root vectorintSel.h - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runvectorint.C+(5)' > vectorint.clog 2>&1 || handleError.sh --result=$$? --log=$@ --test=$@ - -vectorint: vectorint.clog - $(TestDiffW) - -vectorintEmuSel.h: dude.h dude.cxx $(CORELIBS) runvectorintEmu_C.$(DllSuf) vec.root - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runvectorintEmu.C+(4)' > vectorintEmuSel_h.create.log 2>&1 || handleError.sh --result=$$? --log=vectorintEmuSel_h.create.log --test=$@ --rm=$@ - -#vectorintEmuSel_h.$(DllSuf): dude.h dude.cxx - -vectorintEmu.clog: vectorintEmuSel_h.$(DllSuf) $(CORELIBS) runvectorintEmu_C.$(DllSuf) vec.root dude.cxx vectorintEmuSel.h vectorintEmu.ref - $(CMDECHO) $(CALLROOTEXE) -b -q -l 'runvectorintEmu.C+(5)' > vectorintEmu.raw.clog 2>&1 ; result=$$? ; cat vectorintEmu.raw.clog | grep -v 'Warning in : no dictionary for class' > vectorintEmu.clog 2>&1 ; \ - test $$result -eq 0 || handleError.sh --result=$$? --log=$@ --test=$@ - -vectorintEmu: vectorintEmu.clog - $(TestDiffW) - diff --git a/roottest/root/treeproxy/vectorint/dude.cxx b/roottest/root/treeproxy/vectorint/dude.cxx old mode 100755 new mode 100644 diff --git a/roottest/root/treeproxy/vectorint/runvectorint.C b/roottest/root/treeproxy/vectorint/runvectorint.C index 70d271d3af0c6..9a3258ebb580b 100644 --- a/roottest/root/treeproxy/vectorint/runvectorint.C +++ b/roottest/root/treeproxy/vectorint/runvectorint.C @@ -1,18 +1,18 @@ +#ifndef runvectorint_C +#define runvectorint_C + + #include #include "TFile.h" #include "TTree.h" #include "TROOT.h" #include "TClonesArray.h" -#ifndef runvectorint_C -#ifdef ClingWorkAroundMultipleInclude -#define runvectorint_C -#endif class Track : public TObject { public: int random; - ClassDef(Track,1); + ClassDefOverride(Track,1); }; #ifdef __MAKECINT__ @@ -73,14 +73,15 @@ void createsel(const char *filename = "vec.root") t->MakeProxy("vectorintSel","dude.C","",""); } + void usesel(const char *filename = "vec.root") { TFile *f = TFile::Open(filename,"READ"); - TTree *t; f->GetObject("t",t); + TTree *t; f->GetObject("t",t); t->Process("vectorintSel.h+","goff"); } -int runvectorint(int mode = 0) +int runvectorint(int mode = 0) { if (mode==0) { createvec(); diff --git a/roottest/root/treeproxy/vectorint/runvectorintEmu.C b/roottest/root/treeproxy/vectorint/runvectorintEmu.C old mode 100755 new mode 100644