On Fri, Sep 09, 2022 at 05:00:02PM +0200, Stefano Brivio wrote: > 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. It's __SC_PID__ on host and namespace, sc.pid for the guest. The guest doesn't share a filesystem so __STATEDIR__ isn't meeaningful there. In any case they both go away with the test cleanup that goes along with the handling of 0-length UDP packets. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson