mirror of
https://github.com/dlang/dmd.git
synced 2025-04-27 13:40:11 +03:00
![]() The 22 integration tests came with a mix of removing only ROOT (generated/OS/BUILD/MODEL) or GENERATED (generated) subdirs as part of their `make clean`. And running `make clean` in the druntime dir only cleaned up the default BUILD=release variant, while running `make unittest` without explicit BUILD type includes running the integration tests in both debug and release variants. Streamline/fix this to always cleaning up ROOT, and running `make clean` in both variants when running druntime's `make clean`. |
||
---|---|---|
.. | ||
src | ||
bothgc.log.exp | ||
bothnew.def.exp | ||
Makefile | ||
myprofilegc.log.freebsd.32.exp | ||
myprofilegc.log.freebsd.64.exp | ||
myprofilegc.log.linux.32.exp | ||
myprofilegc.log.linux.64.exp | ||
myprofilegc.log.osx.32.exp | ||
myprofilegc.log.osx.64.exp | ||
myprofilegc.log.windows.32.exp | ||
myprofilegc.log.windows.64.exp | ||
mytrace.def.exp | ||
mytrace.releaseopt.def.exp | ||
README.md |
How to interpret failures of this test
The test code in src is built using profiling. Then it checks against the expected output based on the arch/os.
If any of these values are wrong, you will see a diff in the error report, e.g.:
diff \
<(grep -vF 'core.' myprofilegc.log.linux.64.exp) \
<(grep -vF 'core.' ./generated/linux/debug/64/myprofilegc.log)
2c2
< 464 1 immutable(char)[][int] D main src/profilegc.d:23
---
> 496 1 immutable(char)[][int] D main src/profilegc.d:23
This means that the line 23 in src/profilegc.d
allocated 496 bytes, but was expected to allocate 464 bytes.
To accept the difference, edit the file given (in this case myprofile.log.linux.64.exp
) to record the correct value.
Changes to these expectation files should be accompanied by a comment as to why the number changed. Do not change these numbers without understanding why it changed!