# HG changeset patch # User Matt Harbison # Date 1511241849 18000 # Node ID 32bb27dd52825236ba1b6c06fe60e140d6b5ea45 # Parent 5be1a5e869c1ae9966591cf70e25025c2907fd1f test-lfs: allow the test server to be killed on Windows Apparently '$!' doesn't return a Win32 PID, so the process was never killed, and the next run was screwed up. Oddly, without the explicit killdaemons.py at the end, the test seems to hang. This spawning is just sad, so I limited it to Windows. diff -r 5be1a5e869c1 -r 32bb27dd5282 tests/test-lfs-test-server.t --- a/tests/test-lfs-test-server.t Tue Nov 14 22:53:52 2017 -0500 +++ b/tests/test-lfs-test-server.t Tue Nov 21 00:24:09 2017 -0500 @@ -4,8 +4,26 @@ $ LFS_HOST="localhost:$HGPORT" $ LFS_PUBLIC=1 $ export LFS_LISTEN LFS_HOST LFS_PUBLIC +#if no-windows $ lfs-test-server &> lfs-server.log & $ echo $! >> $DAEMON_PIDS +#else + $ cat >> $TESTTMP/spawn.py < import os + > import subprocess + > import sys + > + > for path in os.environ["PATH"].split(os.pathsep): + > exe = os.path.join(path, 'lfs-test-server.exe') + > if os.path.exists(exe): + > with open('lfs-server.log', 'wb') as out: + > p = subprocess.Popen(exe, stdout=out, stderr=out) + > sys.stdout.write('%s\n' % p.pid) + > sys.exit(0) + > sys.exit(1) + > EOF + $ $PYTHON $TESTTMP/spawn.py >> $DAEMON_PIDS +#endif $ cat >> $HGRCPATH < [extensions] @@ -104,3 +122,5 @@ updating to branch default abort: LFS server error. Remote object for file data/a.i not found:(.*)! (re) [255] + + $ $PYTHON $RUNTESTDIR/killdaemons.py $DAEMON_PIDS