<div dir="ltr"><div>(I'm referring to the *.sh scripts within a test)</div><div><br></div><div>Traditional test directories, such as dpd-02, contain the script files:<br></div><div><br></div><div>$ ls *.sh<br>eastinit.sh<br>final.sh<br>westinit.sh<br>westrun.sh<br></div><div><br></div><div>so that more complicated sequences could be built, this was extended to allow arbitrary names with a lexicographic ordering.  This way, the above can be broken down and carefully sequenced making it more robust:<br></div><div><br></div><div>$ ls -1 *.sh<br>01-east-init.sh<br>02-west-init.sh<br>03-west-up.sh<br>04-east-established.sh<br>05-west-ping.sh<br>06-west-block.sh<br>07-east-down.sh<br>08-west-unblock.sh<br>09-west-ping.sh<br>final.sh<br><div><br></div><div>(It's an IKEv1 test so the test needs to check that east is established before west can send a ping, the file names I'm using are arbitrary).</div><div><br></div><div>While it works, I'm finding it very much write-only: the *.console.txt files don't reflect the above order making deciphering failures confusing and updates fragile.  For instance, if there's a problem on west, the first difference is on east (because it is compared first).<br></div><div><br></div><div>I'm now wondering if having a merged file (both input and output) so everything can be read inline would be better:<br></div><div><br></div><div>east# ipsec start</div><div>[initsystem stuff]</div><div>east# wait-for-pluto</div><div>east#<br></div><div>west# ipsec start</div><div>[initsystem stuff]</div><div>west# wait-for-pluto</div><div>west# ping-once --up east</div><div>up</div><div>west#</div><div><br></div><div>(we want to make writing tests easy).  In this scenario, the differences could be shown in context.</div><div><br></div><div>just playing with ideas<br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div>