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

Reply via email to