On Fri, 9 Sep 2022 13:30:24 +1000 David Gibson wrote: > Instead of using the 'temp' and 'tempdir' DSL directives to create > temporary files, use fixed paths relative to __STATEDIR__. This has two > advantages: > 1) The files are automatically cleaned up if the tests fail (and even if > that doesn't work they're easier to clean up manuall) > 2) When debugging tests it's easier to figure out which of the temporary > files are relevant to whatever's going wrong > > Signed-off-by: David Gibson > > [...] > > +++ b/test/passt/udp > @@ -15,9 +15,9 @@ gtools socat tee grep cat ip jq md5sum cut > htools printf dd socat tee grep cat ip jq md5sum cut > > test UDP/IPv4: host to guest > -temp TEMP > -temp SC_PID > -guestb (socat -u UDP4-LISTEN:10001 STDOUT & echo $! > __SC_PID__) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__)) > +set TEMP __STATEDIR__/data > +set SC_PID __STATEDIR__/socat.pid > +guestb (socat -u UDP4-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid)) Here it's sc.pid, > sleep 1 > host dd if=/dev/urandom bs=1k count=5 > __TEMP__ && printf "\nEND_OF_TEST\n" >> __TEMP__ > host socat -u OPEN:__TEMP__ UDP4:127.0.0.1:10001 > diff --git a/test/passt_in_ns/tcp b/test/passt_in_ns/tcp > index 5ec95e8..a2cb667 100644 > --- a/test/passt_in_ns/tcp > +++ b/test/passt_in_ns/tcp > @@ -16,7 +16,7 @@ htools dd socat ip jq md5sum cut > nstools socat ip jq md5sum cut > > test TCP/IPv4: host to guest: big transfer > -temp TEMP_BIG > +set TEMP_BIG __STATEDIR__/big.img > guestb socat -u TCP4-LISTEN:10001 OPEN:test_big.bin,create,trunc > sleep 1 > host dd if=/dev/urandom bs=1M count=10 of=__TEMP_BIG__ > @@ -27,7 +27,7 @@ gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 > check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ] > > test TCP/IPv4: host to ns: big transfer > -temp TEMP_NS_BIG > +set TEMP_NS_BIG __STATEDIR__/big_ns.img > nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_NS_BIG__,create,trunc > host socat -u OPEN:__TEMP_BIG__ TCP4:127.0.0.1:10002 > nsw > @@ -82,7 +82,7 @@ gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 > check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ] > > test TCP/IPv4: host to guest: small transfer > -temp TEMP_SMALL > +set TEMP_SMALL __STATEDIR__/small.img > guestb socat -u TCP4-LISTEN:10001 OPEN:test_small.bin,create,trunc > sleep 1 > host dd if=/dev/urandom bs=2k count=100 of=__TEMP_SMALL__ > @@ -93,7 +93,7 @@ gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1 > check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ] > > test TCP/IPv4: host to ns: small transfer > -temp TEMP_NS_SMALL > +set TEMP_NS_SMALL __STATEDIR__/small_ns.img > nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_NS_SMALL__,create,trunc > host socat -u OPEN:__TEMP_SMALL__ TCP4:127.0.0.1:10002 > nsw > diff --git a/test/passt_in_ns/udp b/test/passt_in_ns/udp > index c22a68f..3b1e521 100644 > --- a/test/passt_in_ns/udp > +++ b/test/passt_in_ns/udp > @@ -16,8 +16,8 @@ nstools socat tee grep cat ip jq md5sum cut > htools printf dd socat tee grep cat ip jq md5sum cut > > test UDP/IPv4: host to guest > -temp TEMP > -temp SC_PID > +set TEMP __STATEDIR__/data > +set SC_PID __STATEDIR__/socat.pid > guestb (socat -u UDP4-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid)) here, too, > sleep 1 > host dd if=/dev/urandom bs=1k count=5 > __TEMP__ && printf "\nEND_OF_TEST\n" >> __TEMP__ > @@ -28,7 +28,7 @@ gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1 > check [ "__GUEST_MD5__" = "__MD5__" ] > > test UDP/IPv4: host to ns > -temp TEMP_NS > +set TEMP_NS __STATEDIR__/data_ns > nsb (socat -u UDP4-LISTEN:10002 STDOUT & echo $! > __SC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__)) ...here it's __SC_PID__. It looks a bit random to me, but anyway all those go away with your (much needed) patch "test: Simpler termination handling for UDP tests", so I'm also fine to apply it like that. -- Stefano