diff options
Diffstat (limited to 'runtime/tests/maps/map.test')
-rw-r--r-- | runtime/tests/maps/map.test | 461 |
1 files changed, 458 insertions, 3 deletions
diff --git a/runtime/tests/maps/map.test b/runtime/tests/maps/map.test index 118cb75e..d827a207 100644 --- a/runtime/tests/maps/map.test +++ b/runtime/tests/maps/map.test @@ -9,6 +9,7 @@ set MPATH "/lib/modules/[exec uname -r]/build/include/asm/mach-default" set PATH "../../user" test ii {Test of int64 keys and int64 values} -setup { + puts "gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test ii.c" exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test ii.c } -body { exec ./test @@ -165,8 +166,81 @@ map[526] = 1526 } -test ist {Test of int64 keys and stat values} -setup { - exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test ist.c +test isx {Test of int64 keys and stat values} -setup { + exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test isx.c +} -body { + exec ./test +} -result {map[3] = count:49600 sum:3288450 avg:66 min:0 max:99 +value |-------------------------------------------------- count + 0 |@@ 460 + 10 |@@@@@@@ 1460 + 20 |@@@@@@@@@@@@ 2460 + 30 |@@@@@@@@@@@@@@@@@@ 3460 + 40 |@@@@@@@@@@@@@@@@@@@@@@@ 4460 + 50 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5460 + 60 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6460 + 70 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7460 + 80 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8460 + 90 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9460 + +map[2] = count:100 sum:2025 avg:20 min:0 max:81 +value |-------------------------------------------------- count + 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 42 + 10 |@@@@@@@@@@@@@@@@@ 17 + 20 |@@@@@@@@@@@@@ 13 + 30 |@@@@@@@@@ 9 + 40 |@@@@@@@@@ 9 + 50 |@@@@ 4 + 60 |@@@ 3 + 70 |@@ 2 + 80 |@ 1 + 90 | 0 + +map[1] = count:45 sum:2850 avg:63 min:10 max:90 +value |-------------------------------------------------- count + 0 | 0 + 10 |@ 1 + 20 |@@ 2 + 30 |@@@ 3 + 40 |@@@@ 4 + 50 |@@@@@ 5 + 60 |@@@@@@ 6 + 70 |@@@@@@@ 7 + 80 |@@@@@@@@ 8 + 90 |@@@@@@@@@ 9 + + +map2[1] = count:16384 sum:1040384 avg:63 min:0 max:127 +value |-------------------------------------------------- count + 0 | 128 + 1 | 128 + 2 |@ 256 + 4 |@@@ 512 + 8 |@@@@@@ 1024 + 16 |@@@@@@@@@@@@ 2048 + 32 |@@@@@@@@@@@@@@@@@@@@@@@@ 4096 + 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8192 + 128 | 0 + 256 | 0 + 512 | 0 + +map2[2] = count:1048576 sum:536346624 avg:511 min:0 max:1023 +value |-------------------------------------------------- count + 0 | 1024 + 1 | 1024 + 2 | 2048 + 4 | 4096 + 8 | 8192 + 16 |@ 16384 + 32 |@@@ 32768 + 64 |@@@@@@ 65536 + 128 |@@@@@@@@@@@@ 131072 + 256 |@@@@@@@@@@@@@@@@@@@@@@@@ 262144 + 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 524288 + +} +test isx2 {Test of int64 keys and stat values} -setup { + exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test isx2.c } -body { exec ./test } -result {map[3] = count:49600 sum:3288450 avg:66 min:0 max:99 @@ -431,6 +505,91 @@ mapsst[ Riga, Latvia] = 322D82 mapsst[ Sofia, Bulgaria] = 7E9 mapsst[ Valletta, Malta] = B22} +test map_format2 {Torture test of map formatting} -setup { + exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test map_format2.c +} -body { + exec ./test +} -result {Columbus -> mapiis 1 2 Ohio +Sacramento -> mapiis 3 4 California +Olympia -> mapiis 5 6 Washington +Salem -> mapiis 7 8 Oregon + +Columbus % Ohio +Sacramento % California +Olympia % Washington +Salem % Oregon + +Columbus -> mapiis +Sacramento -> mapiis +Olympia -> mapiis +Salem -> mapiis + +The capitol of Riga is Latvia and the nerd population is 212063400820736 +The capitol of Sofia is Bulgaria and the nerd population is -2400999087387945352 +The capitol of Valletta is Malta and the nerd population is 1 +The capitol of Nicosia is Cyprus and the nerd population is -1 + +The capitol of Riga is Latvia and the nerd population is c0dedbad0000 +The capitol of Sofia is Bulgaria and the nerd population is deadf00d12345678 +The capitol of Valletta is Malta and the nerd population is 1 +The capitol of Nicosia is Cyprus and the nerd population is ffffffffffffffff + +The capitol of Riga is Latvia and the nerd population is C0DEDBAD0000 +The capitol of Sofia is Bulgaria and the nerd population is DEADF00D12345678 +The capitol of Valletta is Malta and the nerd population is 1 +The capitol of Nicosia is Cyprus and the nerd population is FFFFFFFFFFFFFFFF + +Bogons per packet for Riga +count:49600 sum:3288450 avg:66 min:0 max:99 +value |-------------------------------------------------- count + 0 |@@ 460 + 10 |@@@@@@@ 1460 + 20 |@@@@@@@@@@@@ 2460 + 30 |@@@@@@@@@@@@@@@@@@ 3460 + 40 |@@@@@@@@@@@@@@@@@@@@@@@ 4460 + 50 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5460 + 60 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6460 + 70 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7460 + 80 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8460 + 90 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9460 + +Bogons per packet for Sofia +count:100 sum:2025 avg:20 min:0 max:81 +value |-------------------------------------------------- count + 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 42 + 10 |@@@@@@@@@@@@@@@@@ 17 + 20 |@@@@@@@@@@@@@ 13 + 30 |@@@@@@@@@ 9 + 40 |@@@@@@@@@ 9 + 50 |@@@@ 4 + 60 |@@@ 3 + 70 |@@ 2 + 80 |@ 1 + 90 | 0 + +Bogons per packet for Valletta +count:45 sum:2850 avg:63 min:10 max:90 +value |-------------------------------------------------- count + 0 | 0 + 10 |@ 1 + 20 |@@ 2 + 30 |@@@ 3 + 40 |@@@@ 4 + 50 |@@@@@ 5 + 60 |@@@@@@ 6 + 70 |@@@@@@@ 7 + 80 |@@@@@@@@ 8 + 90 |@@@@@@@@@ 9 + + +49600 was the count for Riga, Latvia +100 was the count for Sofia, Bulgaria +45 was the count for Valletta, Malta + +mapsst[ Riga, Latvia] = 322D82 +mapsst[ Sofia, Bulgaria] = 7E9 +mapsst[ Valletta, Malta] = B22} + test map_issii {Test of int64,string,string,int64 keys and int64 values} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test issii.c @@ -591,6 +750,302 @@ Valletta is the capitol of Malta and the nerd population is 1 Nicosia is the capitol of Cyprus and the nerd population is -1 } -exec rm test +test ii2 {Test of int64 keys and int64 values} -setup { + exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test ii2.c +} -body { + exec ./test +} -result {map[1]=2 +map[1] = 2 +map[3] = 4 + +map[1] = 2 +map[3] = 4 + +0 (should be 0) +map[1] = 2 +map[3] = 4 +map[5] = 6 + +map[6] = 106 +map[7] = 107 +map[8] = 108 +map[9] = 109 + +map[5] = 1005 +map[382] = 1382 +map[526] = 1526 +map[903] = 1903 + +map[5] = 1005 +map[526] = 1526 +map[903] = 1903 + +map[526] = 1526 +map[903] = 1903 + +map[526] = 1526 + + +map[33] = 3333 +map[44] = 4444 +map[55] = 5555 +map[66] = 6666 + + +map[1970] = 1799 +} + +test is2 {Test of int64 keys and string values} -setup { + exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test is2.c +} -body { + exec ./test +} -result {map[1]=one +map[1] = one + +map[1] = one +map[3] = three + +map[1] = one +map[3] = three + +map[1] = one +map[3] = three + +map[1] = one +map[3] = three +map[1024] = 2048 + +map[1] = one +map[3] = three + +map[1] = one +map[3] = three +map[5] = five + +map[1] = one +map[3] = three +map[5] = + +map[6] = value of 6 +map[7] = value of 7 +map[8] = value of 8 +map[9] = value of 9 + +map[5] = 1005 +map[382] = 1382 +map[526] = 1526 +map[903] = 1903 + +map[5] = 1005 +map[526] = 1526 +map[903] = 1903 + +map[526] = 1526 +map[903] = 1903 + +map[526] = 1526 + + +map[6] = new value of 6 +map[7] = new value of 7 +map[8] = new value of 8 +map[9] = new value of 9 +} + +test si2 {Test of string keys and int64 values} -setup { + exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test si2.c +} -body { + exec ./test +} -result {map[Ohio]=1 +map[Ohio] = 1 + +map[Ohio] = 1 +map[Washington] = 2 + +map[Ohio] = 1 +map[Washington] = 2 + +map[Ohio] = 1 +map[Washington] = 2 +map[1024] = 2048 + +map[Ohio] = 1 +map[Washington] = 2 + +map[Ohio] = 1 +map[Washington] = 2 +map[1024] = 2048 + +map[Ohio] = 1 +map[Washington] = 2 + +map[Ohio] = 1 +map[Washington] = 2 +map[California] = 3 + +map[Ohio] = 1 +map[Washington] = 2 +map[California] = 3 +map[] = 7777 + +map[Ohio] = 1 +map[Washington] = 2 +map[California] = 3 +map[] = 8888 + +map[Ohio] = 1 +map[Washington] = 2 +map[California] = 3 + +map[String 6] = 106 +map[String 7] = 107 +map[String 8] = 108 +map[String 9] = 109 + +map[String 6] = 106 +map[String 7] = 107 +map[String 8] = 108 +map[String 9] = 109 + +map[String 6] = 6106 +map[String 7] = 7107 +map[String 8] = 8108 +map[String 9] = 9109 + +map[String 6] = 6 +map[String 7] = 7 +map[String 8] = 8 +map[String 9] = 9 + +} + +test iiss2 {Test of int64,int64,string keys and string values} -setup { + exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test iiss2.c +} -body { + exec ./test +} -result {map[1, 2, Ohio] = Columbus +map[3, 4, California] = Sacramento +map[5, 6, Washington] = Seattle +map[7, 8, Oregon] = Salem + +map[3, 4, California] = Sacramento +map[5, 6, Washington] = Seattle +map[7, 8, Oregon] = Salem +map[-9, -10, Nevada] = Carson City + +map[3, 4, California] = Sacramento +map[5, 6, Washington] = Olymp +map[7, 8, Oregon] = Salem +map[-9, -10, Nevada] = Carson City + +map[3, 4, California] = Sacramento +map[5, 6, Washington] = Olympis +map[7, 8, Oregon] = Salem +map[-9, -10, Nevada] = Carson City + +map[3, 4, California] = Sacramento +map[5, 6, Washington] = Olympia +map[7, 8, Oregon] = Salem +map[-9, -10, Nevada] = Carson City + +map[3, 4, California] = Sacramento +map[5, 6, Washington] = Olympia +map[7, 8, Oregon] = Salem + +map[3, 4, California] = Sacramento +map[5, 6, Washington] = Olympia +map[7, 8, Oregon] = Salem +map[0, 0, ] = +} + +test setadd {Test of setting and adding values} -setup { + exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test setadd.c +} -body { + exec ./test +} -result {mapi[1] = 1 +mapi[2] = 4 +mapi[3] = 9 +mapi[4] = 16 + +maps[1] = value of 1 +maps[2] = value of 2 +maps[3] = value of 3 +maps[4] = value of 4 + +mapx[1] = count:1 sum:1 avg:1 min:1 max:1 +mapx[2] = count:1 sum:2 avg:2 min:2 max:2 +mapx[3] = count:1 sum:3 avg:3 min:3 max:3 +mapx[4] = count:1 sum:4 avg:4 min:4 max:4 + +mapi[1] = 2 +mapi[2] = 8 +mapi[3] = 18 +mapi[4] = 32 + +maps[1] = value of 1***** +maps[2] = value of 2***** +maps[3] = value of 3***** +maps[4] = value of 4***** + +mapx[1] = count:2 sum:3 avg:1 min:1 max:2 +mapx[2] = count:2 sum:6 avg:3 min:2 max:4 +mapx[3] = count:2 sum:9 avg:4 min:3 max:6 +mapx[4] = count:2 sum:12 avg:6 min:4 max:8 + +Adding 0 +mapi[1] = 2 +mapi[2] = 8 +mapi[3] = 18 +mapi[4] = 32 + +maps[1] = value of 1***** +maps[2] = value of 2***** +maps[3] = value of 3***** +maps[4] = value of 4***** + +mapx[1] = count:3 sum:3 avg:1 min:0 max:2 +mapx[2] = count:3 sum:6 avg:2 min:0 max:4 +mapx[3] = count:3 sum:9 avg:3 min:0 max:6 +mapx[4] = count:3 sum:12 avg:4 min:0 max:8 + +setting everything to 0 + + + +Adding 0 + + +mapx[1] = count:1 sum:0 avg:0 min:0 max:0 +mapx[2] = count:1 sum:0 avg:0 min:0 max:0 +mapx[3] = count:1 sum:0 avg:0 min:0 max:0 +mapx[4] = count:1 sum:0 avg:0 min:0 max:0 + +setting everything to -1 +mapi[1] = -1 +mapi[2] = -1 +mapi[3] = -1 +mapi[4] = -1 + +mapx[1] = count:1 sum:-1 avg:-1 min:-1 max:-1 +mapx[2] = count:1 sum:-1 avg:-1 min:-1 max:-1 +mapx[3] = count:1 sum:-1 avg:-1 min:-1 max:-1 +mapx[4] = count:1 sum:-1 avg:-1 min:-1 max:-1 + +adding -1 +mapi[1] = -2 +mapi[2] = -2 +mapi[3] = -2 +mapi[4] = -2 + +mapx[1] = count:2 sum:-2 avg:-1 min:-1 max:-1 +mapx[2] = count:2 sum:-2 avg:-1 min:-1 max:-1 +mapx[3] = count:2 sum:-2 avg:-1 min:-1 max:-1 +mapx[4] = count:2 sum:-2 avg:-1 min:-1 max:-1 +} + + + + +catch {exec rm test} cleanupTests |