On Sun, 1 Dec 2024, Georg-Johann Lay wrote: > > > > As a matter of interest, is the timeout/memory exhaustion observed with > > > > host compilation or target execution? > > > It happens during link, when the linker observes that the memory regions > > > won't fit: > > > > > > .../avr/bin/ld: memcpy-a8.elf section `.text' will not fit in region > > > `text' > > > .../avr/bin/ld: address 0x82c174 of memcpy-a8.elf section `.data' is not > > > within region `data' > > > .../avr/bin/ld: address 0x82c17c of memcpy-a8.elf section `.bss' is not > > > within region `data' > > > .../avr/bin/ld: region `text' overflowed by 245074 bytes > > > collect2: error: ld returned 1 exit status > > > > The memory overflow should be caught by ${tool}_check_unsupported_p. > > Even without this patch, the testsuite should mark the tests as > > UNSUPPORTED and not FAIL for avr. > > They ARE being reported as UNSUPPORTED. But it takes ~40m to arrive at > these conclusions for all 5 tests. A whole testsuite run takes > 60m...70m, so adding 40m for a single test just to see one UNSUPPORTED > rushing by each minute is no fun. It's known in advance that these > tests are pointless on AVR.
I agree it can be annoying under these circumstances. > > On native x86_64-pc-linux-gnu: > > $ time make check-gcc-c RUNTESTFLAGS="execute.exp=memcpy-a*.c" > > # of expected passes 56 > > > > real 8m37,778s > > user 8m29,895s > > sys 0m5,805s > > > > Should these tests instead be gated by "run_expensive_tests"? > > "in addition" instead of "instead" would be fine for me. I've posted a change to this effect now. > Though I don't know anything about when a test on a current hardware is > deemed "expensive". For AVR, they are pointless *and* are consuming > an offensive amount of time (otherwise I wouldn't care; there are many > other tests that are beyond the memory constraints of AVRs). I think it's subjective: 'run_expensive_tests' Expensive testcases (usually those that consume excessive amounts of CPU time) should be run on this target. This can be enabled by setting the 'GCC_TEST_RUN_EXPENSIVE' environment variable to a non-empty string. -- I think what constitutes "excessive amounts of CPU time" will vary depending on the environment, but I guess the need to set the timeout factor is a good indication. I wasn't aware of this effective-target setting at the time I proposed the tests or I would have used it along with the original submission. Maciej