From f3a0366f4f3e4af2f793fa6444b203b6a0adce0a Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Sun, 10 Dec 2023 23:07:14 +0100 Subject: [PATCH] druntime: Avoid `-run` in Windows-specific additional tests As temporary object files seem to collide for parallel runs in the same working dir. --- druntime/test/shared/Makefile | 40 +++++++++++++++++++---------------- druntime/test/stdcpp/Makefile | 12 +++++++---- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/druntime/test/shared/Makefile b/druntime/test/shared/Makefile index 78103cfd6bb6..94cdbd6b2e74 100644 --- a/druntime/test/shared/Makefile +++ b/druntime/test/shared/Makefile @@ -9,30 +9,34 @@ ifeq (windows,$(OS)) TESTS:=loadlibwin dllrefcount dllgc dynamiccast -all: $(addprefix $(ROOT)/,$(TESTS)) +all: $(addprefix $(ROOT)/,$(addsuffix .done,$(TESTS))) + +$(ROOT)/%.done: $(ROOT)/%$(DOTEXE) + @echo Testing $* + $(QUIET)$(TIMELIMIT)$< $(RUN_ARGS) + @touch $@ + +$(ROOT)/dynamiccast.done: $(ROOT)/%.done: $(ROOT)/%$(DOTEXE) + @echo Testing $* + $(QUIET)rm -f $(ROOT)/dynamiccast_end{bar,main} + $(QUIET)$(TIMELIMIT)$< $(RUN_ARGS) + $(QUIET)test -f $(ROOT)/dynamiccast_endbar + $(QUIET)test -f $(ROOT)/dynamiccast_endmain + @touch $@ -$(ROOT)/dllrefcount: $(SRC)/dllrefcount.d - @echo Testing dllrefcount - $(QUIET)$(DMD) $(DFLAGS) -run $< +$(ROOT)/dllrefcount$(DOTEXE): $(SRC)/dllrefcount.d + $(QUIET)$(DMD) $(DFLAGS) -of$@ $< -$(ROOT)/loadlibwin: $(SRC)/loadlibwin.d - @echo Testing loadlibwin - $(QUIET)$(DMD) $(DFLAGS) -run $< +$(ROOT)/loadlibwin$(DOTEXE): $(SRC)/loadlibwin.d + $(QUIET)$(DMD) $(DFLAGS) -of$@ $< -$(ROOT)/dllgc: $(SRC)/dllgc.d - @echo Testing dllgc +$(ROOT)/dllgc$(DOTEXE): $(SRC)/dllgc.d $(QUIET)$(DMD) $(DFLAGS) -version=DLL -shared -of$(ROOT)/dllgc$(DOTDLL) $< - $(QUIET)$(DMD) $(DFLAGS) -of$(ROOT)/loaddllgc$(DOTEXE) $< - $(QUIET)$(ROOT)/loaddllgc + $(QUIET)$(DMD) $(DFLAGS) -of$@ $< -$(ROOT)/dynamiccast: $(SRC)/dynamiccast.d - @echo Testing dynamiccast +$(ROOT)/dynamiccast$(DOTEXE): $(SRC)/dynamiccast.d $(QUIET)$(DMD) $(DFLAGS) -version=DLL -shared -of$(ROOT)/dynamiccast$(DOTDLL) $< - $(QUIET)$(DMD) $(DFLAGS) -of$(ROOT)/dynamiccast$(DOTEXE) $< - $(QUIET)rm -f $(ROOT)/dynamiccast_end{bar,main} - $(QUIET)$(ROOT)/dynamiccast - $(QUIET)test -f $(ROOT)/dynamiccast_endbar - $(QUIET)test -f $(ROOT)/dynamiccast_endmain + $(QUIET)$(DMD) $(DFLAGS) -of$@ $< else # Posix: diff --git a/druntime/test/stdcpp/Makefile b/druntime/test/stdcpp/Makefile index d4b15af1916e..0aea85c80fae 100644 --- a/druntime/test/stdcpp/Makefile +++ b/druntime/test/stdcpp/Makefile @@ -24,16 +24,20 @@ $(ROOT)/%: $(SRC)/%.cpp $(SRC)/%_test.d @mkdir -p $(dir $@) $(QUIET)$(CC) /MT $(EXTRA_CXXFLAGS) -c /Fo$@_cpp$(DOTOBJ) $< - $(QUIET)$(DMD) -mscrtlib=libcmt $(DFLAGS) $(EXTRA_DFLAGS) -main -unittest -version=CoreUnittest -version=_MSC_VER_$(MSC_VER) $@_cpp$(DOTOBJ) -run $(SRC)/$*_test.d + $(QUIET)$(DMD) -mscrtlib=libcmt $(DFLAGS) $(EXTRA_DFLAGS) -main -unittest -version=CoreUnittest -version=_MSC_VER_$(MSC_VER) -of$@$(DOTEXE) $@_cpp$(DOTOBJ) $(SRC)/$*_test.d + $(QUIET)$(TIMELIMIT)$@ $(RUN_ARGS) $(QUIET)$(CC) /MD $(EXTRA_CXXFLAGS) -c /Fo$@_cpp$(DOTOBJ) $< - $(QUIET)$(DMD) -mscrtlib=msvcrt $(DFLAGS) $(EXTRA_DFLAGS) -main -unittest -version=CoreUnittest -version=_MSC_VER_$(MSC_VER) $@_cpp$(DOTOBJ) -run $(SRC)/$*_test.d + $(QUIET)$(DMD) -mscrtlib=msvcrt $(DFLAGS) $(EXTRA_DFLAGS) -main -unittest -version=CoreUnittest -version=_MSC_VER_$(MSC_VER) -of$@$(DOTEXE) $@_cpp$(DOTOBJ) $(SRC)/$*_test.d + $(QUIET)$(TIMELIMIT)$@ $(RUN_ARGS) $(QUIET)$(CC) /MTd $(EXTRA_CXXFLAGS) -c /Fo$@_cpp$(DOTOBJ) $< - $(QUIET)$(DMD) -mscrtlib=libcmtd $(DFLAGS) $(EXTRA_DFLAGS) -main -unittest -version=CoreUnittest -version=_MSC_VER_$(MSC_VER) $@_cpp$(DOTOBJ) -run $(SRC)/$*_test.d + $(QUIET)$(DMD) -mscrtlib=libcmtd $(DFLAGS) $(EXTRA_DFLAGS) -main -unittest -version=CoreUnittest -version=_MSC_VER_$(MSC_VER) -of$@$(DOTEXE) $@_cpp$(DOTOBJ) $(SRC)/$*_test.d + $(QUIET)$(TIMELIMIT)$@ $(RUN_ARGS) $(QUIET)$(CC) /MDd $(EXTRA_CXXFLAGS) -c /Fo$@_cpp$(DOTOBJ) $< - $(QUIET)$(DMD) -mscrtlib=msvcrtd $(DFLAGS) $(EXTRA_DFLAGS) -main -unittest -version=CoreUnittest -version=_MSC_VER_$(MSC_VER) $@_cpp$(DOTOBJ) -run $(SRC)/$*_test.d + $(QUIET)$(DMD) -mscrtlib=msvcrtd $(DFLAGS) $(EXTRA_DFLAGS) -main -unittest -version=CoreUnittest -version=_MSC_VER_$(MSC_VER) -of$@$(DOTEXE) $@_cpp$(DOTOBJ) $(SRC)/$*_test.d + $(QUIET)$(TIMELIMIT)$@ $(RUN_ARGS) else # Posix: