1N/A# Check FETCHSIZE and SETSIZE functions 1N/A# PUSH POP SHIFT UNSHIFT 1N/Aprint "ok $N\n"; $N++;
1N/A# 2-3 FETCHSIZE 0-length file 1N/Aprint $o ?
"ok $N\n" :
"not ok $N\n";
1N/Aprint $n ==
0 ?
"ok $N\n" :
"not ok $N # $n, s/b 0\n";
1N/Aprint $o ?
"ok $N\n" :
"not ok $N\n";
1N/A# 4-5 FETCHSIZE positive-length file 1N/Aprint $n ==
3 ?
"ok $N\n" :
"not ok $N # $n, s/b 0\n";
1N/A# (6-7) Make it longer: 1N/A# (8-9) Make it longer again: 1N/A# (10-11) Make it shorter: 1N/A# (12-13) Make it shorter again: 1N/A# (14-15) Get rid of it completely: 1N/A# (16) 20020324 I have an idea that shortening the array will not 1N/A# expunge a cached record at the end if one is present. 1N/Aprint (! defined $r ? "ok $N\n" : "not ok $N \# was <$r>; should be UNDEF\n");
1N/A# Turns out not to be the case---STORESIZE explicitly removes them later 1N/A# 20020326 Well, but happily, this test did fail today. 1N/A# In the past, there was a bug in STORESIZE that it didn't correctly 1N/A# remove deleted records from the cache. This wasn't detected 1N/A# because these tests were all done with an empty cache. populate() 1N/A# will ensure that the cache is fully populated. 1N/A $z = $a[$_] for 0 .. $#a; 1N/A print "not ok $N\n# expected <$x>, got <$a>\n";