]>
Commit | Line | Data |
---|---|---|
424d8455 LE |
1 | ## @file |
2 | # Small test script generator for OrderedCollectionTest. | |
3 | # | |
4 | # Usage: | |
5 | # - generate script: sh gentest.sh >input.txt | |
6 | # - run script with tester: OrderedCollectionTest -i input.txt -o output.txt | |
7 | # | |
8 | # Copyright (C) 2014, Red Hat, Inc. | |
9 | # | |
10 | # This program and the accompanying materials are licensed and made available | |
11 | # under the terms and conditions of the BSD License which accompanies this | |
12 | # distribution. The full text of the license may be found at | |
13 | # http://opensource.org/licenses/bsd-license. | |
14 | # | |
15 | # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
16 | # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR | |
17 | # IMPLIED. | |
18 | ## | |
19 | ||
20 | set -e -u -C | |
21 | ||
22 | RANGE_START=0 | |
23 | RANGE_STOP=9999 | |
24 | ||
25 | gen_rnd_insert() | |
26 | { | |
27 | shuf --input-range=$RANGE_START-$RANGE_STOP | sed 's/^/insert /' | |
28 | } | |
29 | ||
30 | gen_rnd_delete() | |
31 | { | |
32 | shuf --input-range=$RANGE_START-$RANGE_STOP | sed 's/^/delete /' | |
33 | } | |
34 | ||
35 | gen_mon_inc_insert() | |
36 | { | |
37 | seq $RANGE_START $RANGE_STOP | sed 's/^/insert /' | |
38 | } | |
39 | ||
40 | gen_mon_inc_delete() | |
41 | { | |
42 | seq $RANGE_START $RANGE_STOP | sed 's/^/delete /' | |
43 | } | |
44 | ||
45 | gen_mon_dec_delete() | |
46 | { | |
47 | seq $RANGE_START $RANGE_STOP | tac | sed 's/^/delete /' | |
48 | } | |
49 | ||
50 | { | |
51 | echo '# populate the tree in random order and empty it iterating forward' | |
52 | gen_rnd_insert | |
53 | echo forward-empty | |
54 | ||
55 | echo | |
56 | echo '# populate the tree in random order and empty it iterating backward' | |
57 | gen_rnd_insert | |
58 | echo backward-empty | |
59 | ||
60 | echo | |
61 | echo '# populate the tree in random order, list it in increasing and' | |
62 | echo '# decreasing order, then empty it in random order' | |
63 | gen_rnd_insert | |
64 | echo forward-list | |
65 | echo backward-list | |
66 | gen_rnd_delete | |
67 | ||
68 | echo | |
69 | echo '# populate the tree in monotonically increasing order, then undo it' | |
70 | echo '# piecewise in the same order' | |
71 | gen_mon_inc_insert | |
72 | gen_mon_inc_delete | |
73 | ||
74 | echo | |
75 | echo '# populate the tree in monotonically increasing order, then undo it' | |
76 | echo '# piecewise in reverse order' | |
77 | gen_mon_inc_insert | |
78 | gen_mon_dec_delete | |
79 | ||
80 | echo | |
81 | echo '# populate the tree randomly, trigger a run of collisions, then exit' | |
82 | echo '# and let CmdForwardEmpty() empty the tree' | |
83 | gen_rnd_insert | |
84 | gen_mon_inc_insert | |
85 | } \ | |
86 | | unix2dos |