## @file # Small test script generator for OrderedCollectionTest. # # Usage: # - generate script: sh gentest.sh >input.txt # - run script with tester: OrderedCollectionTest -i input.txt -o output.txt # # Copyright (C) 2014, Red Hat, Inc. # # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this # distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license. # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR # IMPLIED. ## set -e -u -C RANGE_START=0 RANGE_STOP=9999 gen_rnd_insert() { shuf --input-range=$RANGE_START-$RANGE_STOP | sed 's/^/insert /' } gen_rnd_delete() { shuf --input-range=$RANGE_START-$RANGE_STOP | sed 's/^/delete /' } gen_mon_inc_insert() { seq $RANGE_START $RANGE_STOP | sed 's/^/insert /' } gen_mon_inc_delete() { seq $RANGE_START $RANGE_STOP | sed 's/^/delete /' } gen_mon_dec_delete() { seq $RANGE_START $RANGE_STOP | tac | sed 's/^/delete /' } { echo '# populate the tree in random order and empty it iterating forward' gen_rnd_insert echo forward-empty echo echo '# populate the tree in random order and empty it iterating backward' gen_rnd_insert echo backward-empty echo echo '# populate the tree in random order, list it in increasing and' echo '# decreasing order, then empty it in random order' gen_rnd_insert echo forward-list echo backward-list gen_rnd_delete echo echo '# populate the tree in monotonically increasing order, then undo it' echo '# piecewise in the same order' gen_mon_inc_insert gen_mon_inc_delete echo echo '# populate the tree in monotonically increasing order, then undo it' echo '# piecewise in reverse order' gen_mon_inc_insert gen_mon_dec_delete echo echo '# populate the tree randomly, trigger a run of collisions, then exit' echo '# and let CmdForwardEmpty() empty the tree' gen_rnd_insert gen_mon_inc_insert } \ | unix2dos