X-Git-Url: https://git.liburcu.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Futils%2Futils.sh;h=1428afd62841ad99a930fc6fee7be617a2ddf1e0;hp=196f636e68b3625731b9a16483be696345042fc0;hb=eb9605eaf65c0c4858511a10e6ae6398cc2dc1c8;hpb=fbf606d77e98bd46d953a40331f039730cfdf532 diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh index 196f636e6..1428afd62 100644 --- a/tests/utils/utils.sh +++ b/tests/utils/utils.sh @@ -204,8 +204,13 @@ function validate_kernel_version () # $2 = include special characters; 1 = yes, 0 = no; defaults to yes function randstring() { + local len="${1:-16}" + [ "$2" == "0" ] && CHAR="[:alnum:]" || CHAR="[:graph:]" - cat /dev/urandom 2>/dev/null | tr -cd "$CHAR" 2>/dev/null | head -c ${1:-16} 2>/dev/null + # /dev/urandom isn't guaranteed to generate valid multi-byte characters. + # Specifying the C locale eliminates the "Illegal byte sequence" error + # that 'tr' outputs in such cases. + LC_CTYPE=C tr -cd "$CHAR" < /dev/urandom 2>/dev/null | head -c "$len" 2>/dev/null echo }