dmd/druntime/test/profile
Martin Kinkelin 801ad02294 druntime: Streamline make clean for integration tests
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`.
2024-05-25 22:56:15 +02:00
..
src Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
bothgc.log.exp Fix broken tests caused by merge conflicts 2023-07-15 14:21:45 +00:00
bothnew.def.exp Translate _d_newitem{U,T,iT} to a single template (#14664) 2023-05-12 11:29:10 +03:00
Makefile druntime: Streamline make clean for integration tests 2024-05-25 22:56:15 +02:00
myprofilegc.log.freebsd.32.exp Translate _d_newarray{mTX, miTX, Op} to a single template (#15819) 2023-11-17 09:57:30 +02:00
myprofilegc.log.freebsd.64.exp Merge remote-tracking branch 'upstream/stable' into merge_stable 2023-11-20 10:03:05 +01:00
myprofilegc.log.linux.32.exp Translate _d_newarray{mTX, miTX, Op} to a single template (#15819) 2023-11-17 09:57:30 +02:00
myprofilegc.log.linux.64.exp Merge remote-tracking branch 'upstream/stable' into merge_stable 2023-11-20 10:03:05 +01:00
myprofilegc.log.osx.32.exp Translate _d_newarray{mTX, miTX, Op} to a single template (#15819) 2023-11-17 09:57:30 +02:00
myprofilegc.log.osx.64.exp Merge remote-tracking branch 'upstream/stable' into merge_stable 2023-11-20 10:03:05 +01:00
myprofilegc.log.windows.32.exp druntime: Make most *test* Makefiles usable on Windows too 2023-12-18 07:29:32 +08:00
myprofilegc.log.windows.64.exp druntime: Make most *test* Makefiles usable on Windows too 2023-12-18 07:29:32 +08:00
mytrace.def.exp Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
mytrace.releaseopt.def.exp Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
README.md Fix static AA initialization (#15744) 2023-11-02 18:41:35 +08:00

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!