mirror of https://github.com/acidanthera/audk.git
87 lines
2.1 KiB
Bash
87 lines
2.1 KiB
Bash
## @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
|