tests: make sure rand_dev suffix has 6 chars

The change to limit the read size from /dev/urandom is a tradeoff.
Reading too much can trigger an issue, but so it could if the
suggested 250 random chars would not contain enough [:alpha:] chars.
If they contain:
 a) >=6 all is ok
 b) [1-5] the devname would be shorter than expected (non fatal).
 c) 0 things would break

In loops of hundreds of thousands it always was (a) for my, but since
if occuring in a test it might be hard to track what happened avoid
this issue by retrying on the length condition.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
Christian Ehrhardt 2018-01-10 16:11:37 +01:00 committed by Stephen Hemminger
parent 4afbeaeeaf
commit 9bed02a5d5
1 changed files with 5 additions and 1 deletions

View File

@ -87,7 +87,11 @@ ts_qdisc_available()
rand_dev()
{
echo "dev-$(head -c 250 /dev/urandom | tr -dc '[:alpha:]' | head -c 6)"
rnd=""
while [ ${#rnd} -ne 6 ]; do
rnd="$(head -c 250 /dev/urandom | tr -dc '[:alpha:]' | head -c 6)"
done
echo "dev-$rnd"
}
pr_failed()