Re: [RFC PATCH v3 00/15] Modernize the build system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 20/10/2024 09:51, Eli Schwartz wrote:
> On 10/18/24 12:08 PM, Ramsay Jones wrote:
[snip] 
> possibly because due to ninja's juggling of pseudo ttys, the python
> runtime for "meson test" thinks it is *not* running in a tty. I know
> that ninja messes around with this in counterintuitive ways in general,
> but I am not sure exactly how that interacts with the console pool. But
> regardless of the reason -- if it is happening at the python level, then
> exporting PYTHONUNBUFFERED=1 may help. It's something I've had to do
> before for programs other than meson, at least.


Unfortunately, the 'PYTHONUNBUFFERED=1' idea didn't work. In fact nothing
I have tried on cygwin has worked. For example, if I use meson to run just
few tests, like so on Linux: 

  $ meson test --no-rebuild --print-errorlogs 't000*'
  1/9 t0000-basic             OK              7.52s
  2/9 t0001-init              OK              1.88s
  3/9 t0002-gitfile           OK              0.37s
  4/9 t0003-attributes        OK              1.35s
  5/9 t0004-unwritable        OK              0.23s
  6/9 t0005-signals           OK              0.16s
  7/9 t0006-date              OK              0.73s
  8/9 t0007-git-var           OK              0.40s
  9/9 t0008-ignores           OK              3.09s
  
  Ok:                 9   
  Expected Fail:      0   
  Fail:               0   
  Unexpected Pass:    0   
  Skipped:            0   
  Timeout:            0   
  
  Full log written to /home/ramsay/git/build/meson-logs/testlog.txt
  $ 

On cygwin it looks like:
  
  $ meson test --no-rebuild --print-errorlogs 't000*'
  1/9 t0002-gitfile           OK             12.32s
  [2-4/9] 🌖 t0003-attributes                12s

Which actually looks nothing like what actually happens! The first line
is actually the result of (*maybe*) running all 9 tests, but during that
time the line started with '[1-4/9] ...' and they didn't run in sequence
but jumped around ending with t0002. Then on the second line, it almost
immediately hung, again with python hovering up all the cpu cycles. So
I had to kill the task from a second terminal.

Actually, I tell a lie, I did get a single test to work on cygwin:

  $ meson test --no-rebuild --print-errorlogs 't0001*'
  1/1 t0001-init        OK             32.95s
  
  Ok:                 1   
  Expected Fail:      0   
  Fail:               0   
  Unexpected Pass:    0   
  Skipped:            0   
  Timeout:            0   
  
  Full log written to /home/ramsay/git/build/meson-logs/testlog.txt
  $ 

Notice that this took much longer, at 32.95s, than (what looked like) all
nine tests above at 12.32s. (although via 'make test' t0000-basic.sh alone
took 124.13s for v2.47.0!).

Patrick, how do you run the tests on cygwin?

ATB,
Ramsay Jones







[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux