Skip to content
Snippets Groups Projects
  • Matt Harbison's avatar
    a8e1ff9ac257
    tests: fix a test hang on Windows when setting a debuglock · a8e1ff9ac257
    Matt Harbison authored
    I have no idea why, but running the `hg -R auto-upgrade debuglock --set-lock`
    command near the end of `test-upgrade-repo.t` hangs the test.  It does
    background the process and `killdaemons.py` runs without error, but control
    doesn't return to `run-tests.py` until the process is manually killed.  I did
    notice that `$!` in MSYS is *not* the PID of the process that got backgrounded,
    even when a simple `sleep 60 &` is run in MSYS without the *.t file.  When
    `killdaemons.py` is run manually with the PID in ProcessExplorer, the
    backgrounded process terminates immediately, and returns control to
    `run-tests.py`.
    
    This looks like it would be a race, but the test waits 10s for the lock file to
    appear before attempting to kill the process, so there's time.  `hg serve` has a
    `--pid-file` option to write the pid to the file, but this is only a debug
    command, so I'm not bothering with cluttering the command line.
    a8e1ff9ac257
    History
    tests: fix a test hang on Windows when setting a debuglock
    Matt Harbison authored
    I have no idea why, but running the `hg -R auto-upgrade debuglock --set-lock`
    command near the end of `test-upgrade-repo.t` hangs the test.  It does
    background the process and `killdaemons.py` runs without error, but control
    doesn't return to `run-tests.py` until the process is manually killed.  I did
    notice that `$!` in MSYS is *not* the PID of the process that got backgrounded,
    even when a simple `sleep 60 &` is run in MSYS without the *.t file.  When
    `killdaemons.py` is run manually with the PID in ProcessExplorer, the
    backgrounded process terminates immediately, and returns control to
    `run-tests.py`.
    
    This looks like it would be a race, but the test waits 10s for the lock file to
    appear before attempting to kill the process, so there's time.  `hg serve` has a
    `--pid-file` option to write the pid to the file, but this is only a debug
    command, so I'm not bothering with cluttering the command line.