From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Brivio To: passt-dev@passt.top Subject: Re: [PATCH v4 08/12] test: Use paths in __STATEDIR__ instead of 'temp' and 'tempdir' directives Date: Sat, 10 Sep 2022 22:41:45 +0200 Message-ID: <20220910224145.5bc177b7@elisabeth> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2587083355250424462==" --===============2587083355250424462== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Sat, 10 Sep 2022 17:44:03 +1000 David Gibson wrote: > 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: > > =20 > > > 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 tempor= ary > > > files are relevant to whatever's going wrong > > >=20 > > > 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 > > > =20 > > > test UDP/IPv4: host to guest > > > -temp TEMP > > > -temp SC_PID > > > -guestb (socat -u UDP4-LISTEN:10001 STDOUT & echo $! > __SC_PID__) | te= e 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 te= st.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid)) =20 > >=20 > > Here it's sc.pid, > > =20 > > > sleep 1 > > > host dd if=3D/dev/urandom bs=3D1k count=3D5 > __TEMP__ && printf "\nEN= D_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 > > > =20 > > > 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=3D/dev/urandom bs=3D1M count=3D10 of=3D__TEMP_BIG__ > > > @@ -27,7 +27,7 @@ gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 > > > check [ "__GUEST_MD5_BIG__" =3D "__MD5_BIG__" ] > > > =20 > > > 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__" =3D "__MD5_BIG__" ] > > > =20 > > > 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=3D/dev/urandom bs=3D2k count=3D100 of=3D__TEMP_SMALL__ > > > @@ -93,7 +93,7 @@ gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' = ' -f1 > > > check [ "__GUEST_MD5_SMALL__" =3D "__MD5_SMALL__" ] > > > =20 > > > 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 > > > =20 > > > 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 te= st.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid)) =20 > >=20 > > here, too, > > =20 > > > sleep 1 > > > host dd if=3D/dev/urandom bs=3D1k count=3D5 > __TEMP__ && printf "\nEN= D_OF_TEST\n" >> __TEMP__ > > > @@ -28,7 +28,7 @@ gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1 > > > check [ "__GUEST_MD5__" =3D "__MD5__" ] > > > =20 > > > 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__)) =20 > >=20 > > ...here it's __SC_PID__. > >=20 > > 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. =20 >=20 > 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. Oh, right, I missed that. > In any case they both go away with the test cleanup that goes along > with the handling of 0-length UDP packets. --=20 Stefano --===============2587083355250424462==--