From 845ad5e96909ce8111933c8a12e63ac09c77d31e Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Fri, 26 Dec 2014 19:31:47 -0600 Subject: [PATCH] Fuzz JSON parser --- tests/run | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/run b/tests/run index 878e697a..09703e11 100755 --- a/tests/run +++ b/tests/run @@ -123,6 +123,21 @@ $VALGRIND $Q ./jq -c '. as $d|path(..) as $p|$d|getpath($p)|scalars_or_empty|[$p $VALGRIND $Q ./jq --stream -c '.|select(length==2)' < "$PWD/tests/torture/input0.json" > $d/out1 diff $d/out0 $d/out1 +## Fuzz parser + +if dd if=/dev/urandom bs=16 count=1024 > $d/rand 2>/dev/null; then + # Have a /dev/urandom, good + set -x + $VALGRIND $Q ./jq --seq . $d/rand >/dev/null 2>&1 + $VALGRIND $Q ./jq --seq --stream . $d/rand >/dev/null 2>&1 + dd if=/dev/urandom bs=16 count=1024 > $d/rand 2>/dev/null + $VALGRIND $Q ./jq --seq . $d/rand >/dev/null 2>&1 + $VALGRIND $Q ./jq --seq --stream . $d/rand >/dev/null 2>&1 + dd if=/dev/urandom bs=16 count=1024 > $d/rand 2>/dev/null + $VALGRIND $Q ./jq --seq . $d/rand >/dev/null 2>&1 + $VALGRIND $Q ./jq --seq --stream . $d/rand >/dev/null 2>&1 +fi + ## Test library/module system mods=$PWD/tests/modules