New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build.d: Add test
target to run the test suite
#11805
Conversation
Thanks for your pull request and interest in making D better, @MoonlightSentinel! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + dmd#11805" |
Calling `./build.d test` will now build dmd and run the test suite as done for the makefile.
66a942b
to
f96d7dd
Compare
test
target to run the test suite
From a quick look, this PR seems to be the cause of the Azure pipeline failures. D:\a\1\druntime>"D:\a\1\s\dm\path\make.exe" -f win64.mak MODEL=32mscoff "DMD=D:\a\1\s\generated\Windows\RelWithAsserts\Win32\dmd.exe" "VCDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\." "CC=C:\PROGRA~2\MICROS~1\2017\ENTERP~1\VC\Tools\MSVC\1416~1.270\bin\Hostx86\x86\cl.exe " "MAKE=D:\a\1\s\dm\path\make.exe" unittest || exit /B 3
"D:\a\1\s\generated\Windows\RelWithAsserts\Win32\dmd.exe" -m32mscoff -conf= -O -release -dip1000 -preview=fieldwise -w -version=_MSC_VER_ -Isrc -Iimport -version=druntime_unittest -version=CoreUnittest -unittest -checkaction=context -ofunittest.exe -main src\object.d src\core\atomic.d src\core\attribute.d src\core\bitop.d src\core\checkedint.d src\core\cpuid.d src\core\demangle.d src\core\exception.d src\core\lifetime.d src\core\math.d src\core\memory.d src\core\runtime.d src\core\simd.d src\core\time.d src\core\vararg.d src\core\volatile.d src\core\gc\config.d src\core\gc\gcinterface.d src\core\gc\registry.d src\core\internal\abort.d src\core\internal\atomic.d src\core\internal\attributes.d src\core\internal\convert.d src\core\internal\dassert.d src\core\internal\destruction.d src\core\internal\entrypoint.d src\core\internal\execinfo.d src\core\internal\hash.d src\core\internal\moving.d src\core\internal\parseoptions.d src\core\internal\postblit.d src\core\internal\spinlock.d src\core\internal\string.d src\core\internal\switch_.d src\core\internal\traits.d src\core\internal\utf.d src\core\internal\lifetime.d src\core\internal\array\appending.d src\core\internal\array\comparison.d src\core\internal\array\construction.d src\core\internal\array\equality.d src\core\internal\array\casting.d src\core\internal\array\capacity.d src\core\internal\array\concatenation.d src\core\internal\array\operations.d src\core\internal\array\utils.d src\core\internal\elf\dl.d src\core\internal\elf\io.d src\core\internal\util\array.d src\core\internal\vararg\aarch64.d src\core\internal\vararg\sysv_x64.d src\core\stdc\assert_.d src\core\stdc\complex.d src\core\stdc\config.d src\core\stdc\ctype.d src\core\stdc\errno.d src\core\stdc\fenv.d src\core\stdc\float_.d src\core\stdc\inttypes.d src\core\stdc\limits.d src\core\stdc\locale.d src\core\stdc\math.d src\core\stdc\signal.d src\core\stdc\stdarg.d src\core\stdc\stddef.d src\core\stdc\stdint.d src\core\stdc\stdio.d src\core\stdc\stdlib.d src\core\stdc\string.d src\core\stdc\tgmath.d src\core\stdc\time.d src\core\stdc\wchar_.d src\core\stdc\wctype.d src\core\stdcpp\allocator.d src\core\stdcpp\array.d src\core\stdcpp\exception.d src\core\stdcpp\memory.d src\core\stdcpp\new_.d src\core\stdcpp\string.d src\core\stdcpp\string_view.d src\core\stdcpp\type_traits.d src\core\stdcpp\vector.d src\core\stdcpp\xutility.d src\core\sync\barrier.d src\core\sync\condition.d src\core\sync\config.d src\core\sync\exception.d src\core\sync\event.d src\core\sync\mutex.d src\core\sync\rwmutex.d src\core\sync\semaphore.d src\core\sys\bionic\err.d src\core\sys\bionic\fcntl.d src\core\sys\bionic\string.d src\core\sys\bionic\unistd.d src\core\sys\darwin\crt_externs.d src\core\sys\darwin\dlfcn.d src\core\sys\darwin\err.d src\core\sys\darwin\execinfo.d src\core\sys\darwin\pthread.d src\core\sys\darwin\string.d src\core\sys\darwin\mach\dyld.d src\core\sys\darwin\mach\getsect.d src\core\sys\darwin\mach\kern_return.d src\core\sys\darwin\mach\loader.d src\core\sys\darwin\mach\nlist.d src\core\sys\darwin\mach\port.d src\core\sys\darwin\mach\semaphore.d src\core\sys\darwin\mach\stab.d src\core\sys\darwin\mach\thread_act.d src\core\sys\darwin\netinet\in_.d src\core\sys\darwin\sys\cdefs.d src\core\sys\darwin\sys\event.d src\core\sys\darwin\sys\mman.d src\core\sys\freebsd\dlfcn.d src\core\sys\freebsd\err.d src\core\sys\freebsd\execinfo.d src\core\sys\freebsd\netinet\in_.d src\core\sys\freebsd\pthread_np.d src\core\sys\freebsd\string.d src\core\sys\freebsd\time.d src\core\sys\freebsd\unistd.d src\core\sys\freebsd\sys\_bitset.d src\core\sys\freebsd\sys\_cpuset.d src\core\sys\freebsd\sys\cdefs.d src\core\sys\freebsd\sys\elf_common.d src\core\sys\freebsd\sys\elf.d src\core\sys\freebsd\sys\elf32.d src\core\sys\freebsd\sys\elf64.d src\core\sys\freebsd\sys\event.d src\core\sys\freebsd\sys\link_elf.d src\core\sys\freebsd\sys\mman.d src\core\sys\freebsd\sys\mount.d src\core\sys\dragonflybsd\dlfcn.d src\core\sys\dragonflybsd\err.d src\core\sys\dragonflybsd\execinfo.d src\core\sys\dragonflybsd\netinet\in_.d src\core\sys\dragonflybsd\pthread_np.d src\core\sys\dragonflybsd\string.d src\core\sys\dragonflybsd\time.d src\core\sys\dragonflybsd\sys\_bitset.d src\core\sys\dragonflybsd\sys\_cpuset.d src\core\sys\dragonflybsd\sys\cdefs.d src\core\sys\dragonflybsd\sys\elf.d src\core\sys\dragonflybsd\sys\elf32.d src\core\sys\dragonflybsd\sys\elf64.d src\core\sys\dragonflybsd\sys\elf_common.d src\core\sys\dragonflybsd\sys\event.d src\core\sys\dragonflybsd\sys\link_elf.d src\core\sys\dragonflybsd\sys\mman.d src\core\sys\dragonflybsd\sys\socket.d src\core\sys\linux\config.d src\core\sys\linux\dlfcn.d src\core\sys\linux\elf.d src\core\sys\linux\epoll.d src\core\sys\linux\err.d src\core\sys\linux\errno.d src\core\sys\linux\execinfo.d src\core\sys\linux\fcntl.d src\core\sys\linux\ifaddrs.d src\core\sys\linux\link.d src\core\sys\linux\sched.d src\core\sys\linux\stdio.d src\core\sys\linux\string.d src\core\sys\linux\termios.d src\core\sys\linux\time.d src\core\sys\linux\timerfd.d src\core\sys\linux\tipc.d src\core\sys\linux\unistd.d src\core\sys\linux\netinet\in_.d src\core\sys\linux\netinet\tcp.d src\core\sys\linux\sys\auxv.d src\core\sys\linux\sys\eventfd.d src\core\sys\linux\sys\file.d src\core\sys\linux\sys\inotify.d src\core\sys\linux\sys\mman.d src\core\sys\linux\sys\signalfd.d src\core\sys\linux\sys\socket.d src\core\sys\linux\sys\sysinfo.d src\core\sys\linux\sys\xattr.d src\core\sys\linux\sys\time.d src\core\sys\linux\sys\prctl.d src\core\sys\netbsd\dlfcn.d src\core\sys\netbsd\err.d src\core\sys\netbsd\execinfo.d src\core\sys\netbsd\string.d src\core\sys\netbsd\time.d src\core\sys\netbsd\sys\elf.d src\core\sys\netbsd\sys\elf32.d src\core\sys\netbsd\sys\elf64.d src\core\sys\netbsd\sys\elf_common.d src\core\sys\netbsd\sys\event.d src\core\sys\netbsd\sys\featuretest.d src\core\sys\netbsd\sys\link_elf.d src\core\sys\netbsd\sys\mman.d src\core\sys\openbsd\dlfcn.d src\core\sys\openbsd\err.d src\core\sys\openbsd\string.d src\core\sys\openbsd\time.d src\core\sys\openbsd\sys\cdefs.d src\core\sys\openbsd\sys\elf.d src\core\sys\openbsd\sys\elf32.d src\core\sys\openbsd\sys\elf64.d src\core\sys\openbsd\sys\elf_common.d src\core\sys\openbsd\sys\link_elf.d src\core\sys\openbsd\sys\mman.d src\core\sys\posix\arpa\inet.d src\core\sys\posix\aio.d src\core\sys\posix\config.d src\core\sys\posix\dirent.d src\core\sys\posix\dlfcn.d src\core\sys\posix\fcntl.d src\core\sys\posix\grp.d src\core\sys\posix\iconv.d src\core\sys\posix\inttypes.d src\core\sys\posix\libgen.d src\core\sys\posix\locale.d src\core\sys\posix\mqueue.d src\core\sys\posix\netdb.d src\core\sys\posix\poll.d src\core\sys\posix\pthread.d src\core\sys\posix\pwd.d src\core\sys\posix\sched.d src\core\sys\posix\semaphore.d src\core\sys\posix\setjmp.d src\core\sys\posix\signal.d src\core\sys\posix\spawn.d src\core\sys\posix\stdio.d src\core\sys\posix\stdlib.d src\core\sys\posix\string.d src\core\sys\posix\strings.d src\core\sys\posix\syslog.d src\core\sys\posix\termios.d src\core\sys\posix\time.d src\core\sys\posix\ucontext.d src\core\sys\posix\unistd.d src\core\sys\posix\utime.d src\core\sys\posix\net\if_.d src\core\sys\posix\netinet\in_.d src\core\sys\posix\netinet\tcp.d src\core\sys\posix\stdc\time.d src\core\sys\posix\sys\filio.d src\core\sys\posix\sys\ioccom.d src\core\sys\posix\sys\ioctl.d src\core\sys\posix\sys\ipc.d src\core\sys\posix\sys\mman.d src\core\sys\posix\sys\msg.d src\core\sys\posix\sys\resource.d src\core\sys\posix\sys\select.d src\core\sys\posix\sys\shm.d src\core\sys\posix\sys\socket.d src\core\sys\posix\sys\stat.d src\core\sys\posix\sys\statvfs.d src\core\sys\posix\sys\time.d src\core\sys\posix\sys\ttycom.d src\core\sys\posix\sys\types.d src\core\sys\posix\sys\uio.d src\core\sys\posix\sys\un.d src\core\sys\posix\sys\utsname.d src\core\sys\posix\sys\wait.d src\core\sys\solaris\dlfcn.d src\core\sys\solaris\elf.d src\core\sys\solaris\err.d src\core\sys\solaris\execinfo.d src\core\sys\solaris\libelf.d src\core\sys\solaris\link.d src\core\sys\solaris\time.d src\core\sys\solaris\sys\elf.d src\core\sys\solaris\sys\elf_386.d src\core\sys\solaris\sys\elf_amd64.d src\core\sys\solaris\sys\elf_notes.d src\core\sys\solaris\sys\elf_SPARC.d src\core\sys\solaris\sys\elftypes.d src\core\sys\solaris\sys\link.d src\core\sys\solaris\sys\priocntl.d src\core\sys\solaris\sys\procset.d src\core\sys\solaris\sys\types.d src\core\sys\windows\accctrl.d src\core\sys\windows\aclapi.d src\core\sys\windows\aclui.d src\core\sys\windows\basetsd.d src\core\sys\windows\basetyps.d src\core\sys\windows\cderr.d src\core\sys\windows\cguid.d src\core\sys\windows\com.d src\core\sys\windows\comcat.d src\core\sys\windows\commctrl.d src\core\sys\windows\commdlg.d src\core\sys\windows\core.d src\core\sys\windows\cpl.d src\core\sys\windows\cplext.d src\core\sys\windows\custcntl.d src\core\sys\windows\dbghelp.d src\core\sys\windows\dbghelp_types.d src\core\sys\windows\dbt.d src\core\sys\windows\dde.d src\core\sys\windows\ddeml.d src\core\sys\windows\dhcpcsdk.d src\core\sys\windows\dlgs.d src\core\sys\windows\dll.d src\core\sys\windows\docobj.d src\core\sys\windows\errorrep.d src\core\sys\windows\exdisp.d src\core\sys\windows\exdispid.d src\core\sys\windows\httpext.d src\core\sys\windows\idispids.d src\core\sys\windows\imagehlp.d src\core\sys\windows\imm.d src\core\sys\windows\intshcut.d src\core\sys\windows\ipexport.d src\core\sys\windows\iphlpapi.d src\core\sys\windows\ipifcons.d src\core\sys\windows\iprtrmib.d src\core\sys\windows\iptypes.d src\core\sys\windows\isguids.d src\core\sys\windows\lm.d src\core\sys\windows\lmaccess.d src\core\sys\windows\lmalert.d src\core\sys\windows\lmapibuf.d src\core\sys\windows\lmat.d src\core\sys\windows\lmaudit.d src\core\sys\windows\lmbrowsr.d src\core\sys\windows\lmchdev.d src\core\sys\windows\lmconfig.d src\core\sys\windows\lmcons.d src\core\sys\windows\lmerr.d src\core\sys\windows\lmerrlog.d src\core\sys\windows\lmmsg.d src\core\sys\windows\lmremutl.d src\core\sys\windows\lmrepl.d src\core\sys\windows\lmserver.d src\core\sys\windows\lmshare.d src\core\sys\windows\lmsname.d src\core\sys\windows\lmstats.d src\core\sys\windows\lmsvc.d src\core\sys\windows\lmuse.d src\core\sys\windows\lmuseflg.d src\core\sys\windows\lmwksta.d src\core\sys\windows\lzexpand.d src\core\sys\windows\mapi.d src\core\sys\windows\mciavi.d src\core\sys\windows\mcx.d src\core\sys\windows\mgmtapi.d src\core\sys\windows\mmsystem.d src\core\sys\windows\msacm.d src\core\sys\windows\mshtml.d src\core\sys\windows\mswsock.d src\core\sys\windows\nb30.d src\core\sys\windows\nddeapi.d src\core\sys\windows\nspapi.d src\core\sys\windows\ntdef.d src\core\sys\windows\ntdll.d src\core\sys\windows\ntldap.d src\core\sys\windows\ntsecapi.d src\core\sys\windows\ntsecpkg.d src\core\sys\windows\oaidl.d src\core\sys\windows\objbase.d src\core\sys\windows\objfwd.d src\core\sys\windows\objidl.d src\core\sys\windows\objsafe.d src\core\sys\windows\ocidl.d src\core\sys\windows\odbcinst.d src\core\sys\windows\ole.d src\core\sys\windows\ole2.d src\core\sys\windows\ole2ver.d src\core\sys\windows\oleacc.d src\core\sys\windows\oleauto.d src\core\sys\windows\olectl.d src\core\sys\windows\olectlid.d src\core\sys\windows\oledlg.d src\core\sys\windows\oleidl.d src\core\sys\windows\pbt.d src\core\sys\windows\powrprof.d src\core\sys\windows\prsht.d src\core\sys\windows\psapi.d src\core\sys\windows\rapi.d src\core\sys\windows\ras.d src\core\sys\windows\rasdlg.d src\core\sys\windows\raserror.d src\core\sys\windows\rassapi.d src\core\sys\windows\reason.d src\core\sys\windows\regstr.d src\core\sys\windows\richedit.d src\core\sys\windows\richole.d src\core\sys\windows\rpc.d src\core\sys\windows\rpcdce.d src\core\sys\windows\rpcdce2.d src\core\sys\windows\rpcdcep.d src\core\sys\windows\rpcndr.d src\core\sys\windows\rpcnsi.d src\core\sys\windows\rpcnsip.d src\core\sys\windows\rpcnterr.d src\core\sys\windows\schannel.d src\core\sys\windows\sdkddkver.d src\core\sys\windows\secext.d src\core\sys\windows\security.d src\core\sys\windows\servprov.d src\core\sys\windows\setupapi.d src\core\sys\windows\shellapi.d src\core\sys\windows\shldisp.d src\core\sys\windows\shlguid.d src\core\sys\windows\shlobj.d src\core\sys\windows\shlwapi.d src\core\sys\windows\snmp.d src\core\sys\windows\sql.d src\core\sys\windows\sqlext.d src\core\sys\windows\sqltypes.d src\core\sys\windows\sqlucode.d src\core\sys\windows\sspi.d src\core\sys\windows\stacktrace.d src\core\sys\windows\stat.d src\core\sys\windows\stdc\time.d src\core\sys\windows\subauth.d src\core\sys\windows\threadaux.d src\core\sys\windows\tlhelp32.d src\core\sys\windows\tmschema.d src\core\sys\windows\unknwn.d src\core\sys\windows\uuid.d src\core\sys\windows\vfw.d src\core\sys\windows\w32api.d src\core\sys\windows\winbase.d src\core\sys\windows\winber.d src\core\sys\windows\wincon.d src\core\sys\windows\wincrypt.d src\core\sys\windows\windef.d src\core\sys\windows\windows.d src\core\sys\windows\winerror.d src\core\sys\windows\wingdi.d src\core\sys\windows\winhttp.d src\core\sys\windows\wininet.d src\core\sys\windows\winioctl.d src\core\sys\windows\winldap.d src\core\sys\windows\winnetwk.d src\core\sys\windows\winnls.d src\core\sys\windows\winnt.d src\core\sys\windows\winperf.d src\core\sys\windows\winreg.d src\core\sys\windows\winsock2.d src\core\sys\windows\winspool.d src\core\sys\windows\winsvc.d src\core\sys\windows\winuser.d src\core\sys\windows\winver.d src\core\sys\windows\wtsapi32.d src\core\sys\windows\wtypes.d src\core\thread\fiber.d src\core\thread\types.d src\core\thread\threadgroup.d src\core\thread\threadbase.d src\core\thread\osthread.d src\core\thread\context.d src\core\thread\package.d src\gc\bits.d src\gc\impl\conservative\gc.d src\gc\os.d src\gc\pooltable.d src\gc\proxy.d src\gc\impl\manual\gc.d src\gc\impl\proto\gc.d src\rt\aApply.d src\rt\aApplyR.d src\rt\aaA.d src\rt\adi.d src\rt\alloca.d src\rt\arrayassign.d src\rt\arraycat.d src\rt\cast_.d src\rt\cmath2.d src\rt\config.d src\rt\cover.d src\rt\critical_.d src\rt\deh.d src\rt\deh_win32.d src\rt\deh_win64_posix.d src\rt\dmain2.d src\rt\dwarfeh.d src\rt\ehalloc.d src\rt\invariant.d src\rt\lifetime.d src\rt\llmath.d src\rt\memory.d src\rt\memset.d src\rt\minfo.d src\rt\monitor_.d src\rt\msvc.d src\rt\msvc_math.d src\rt\profilegc.d src\rt\qsort.d src\rt\sections.d src\rt\sections_android.d src\rt\sections_darwin_64.d src\rt\sections_elf_shared.d src\rt\sections_osx_x86.d src\rt\sections_osx_x86_64.d src\rt\sections_solaris.d src\rt\sections_win32.d src\rt\sections_win64.d src\rt\tlsgc.d src\rt\trace.d src\rt\tracegc.d src\rt\unwind.d src\rt\backtrace\dwarf.d src\rt\backtrace\elf.d src\rt\backtrace\macho.d src\rt\util\random.d src\rt\util\typeinfo.d src\rt\util\utility.d src\rt\util\container\array.d src\rt\util\container\common.d src\rt\util\container\hashtab.d src\rt\util\container\treap.d src\etc\linux\memoryerror.d lib\druntime32mscoff.lib -debuglib=lib\druntime32mscoff.lib -defaultlib=lib\druntime32mscoff.lib user32.lib
src\core\sys\windows\odbcinst.d(158): Deprecation: function `core.sys.windows.odbcinst.SQLInstallTranslatorW` is deprecated - Use SQLInstallTranslatorExW instead
src\core\sys\windows\odbcinst.d(158): Deprecation: function `core.sys.windows.odbcinst.SQLInstallTranslatorW` is deprecated - Use SQLInstallTranslatorExW instead
src\core\internal\dassert.d(143): Deprecation: argument `cast(__c_long_double)v` for format specification `"%Lg"` must be `real`, not `double`
src\core\internal\dassert.d(157): Deprecation: argument `cast(idouble)v` for format specification `"%Lg"` must be `real`, not `idouble`
src\core\internal\dassert.d(147): Deprecation: argument `cast(__c_long_double)cast(real)v` for format specification `"%Lg"` must be `real`, not `double`
src\core\internal\dassert.d(147): Deprecation: argument `cast(__c_long_double)cast(ireal)v` for format specification `"%Lg"` must be `real`, not `double`
unittest
Error: 'unittest' not found
##[error]Cmd.exe exited with code '3'. The failure happens while building druntime. Looking at druntime's commit history, there's nothing that could have triggered this. So the issue either comes from this PR, or a configuration change on the Azure side. |
The CI doesn't use the
Note that Azure uses the configuration files found in |
Yeah, I'm also puzzled because the diff does not seem like it could cause this. But take a look at the pipeline: Iain's merge (#11827) failed for a different reason (in the test-suite). The merge commit for this PR is the first to show the recurrent issue with There's a simple way to test this though. I'll submit a revert PR. |
Calling
./build.d test
will now build dmd and run the test suite as done for the makefile.