Mailing List Archive

Re my contrib of a gdbm testcase (the test with the blahs)
> From: grace@hal.com (Grace Lee)
> Date: Mon, 25 Sep 1995 10:12:57 -0700 (PDT)
> Subject: my contrib of a gdbm testcase
> To: perl5-porters@africa.nicoh.com
> Cc: grace@hal.com
>
> Here is a testcase provided by one of our users to verify if perl5 is
> using correct gdbm to store array with big items. Hope this can be used
> as perl5 test case. I called perl/t/lib/gdbm-big-row.t.
> .
> .
> .
>
> $INFO =
> "blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
>
> *** 73 more copies of this line deleted ***
> .
> .
> .
>

Wouldn't it be easer to use a more compact representation of the string you
put in $INFO, something like the following?

$INFO = ("blah" x 20 . "\n") x 74;

Give or take that I may have miscounted. :-)


pete peterson
rep@genrad.com
(508)287-7478; Home: (508)256-5829 (Chelmsford, MA)
Re: Re my contrib of a gdbm testcase (the test with the blahs) [ In reply to ]
:
: > From: grace@hal.com (Grace Lee)
: > Date: Mon, 25 Sep 1995 10:12:57 -0700 (PDT)
: > Subject: my contrib of a gdbm testcase
: > To: perl5-porters@africa.nicoh.com
: > Cc: grace@hal.com
: >
: > Here is a testcase provided by one of our users to verify if perl5 is
: > using correct gdbm to store array with big items. Hope this can be used
: > as perl5 test case. I called perl/t/lib/gdbm-big-row.t.
: > .
: > .
: > .
: >
: > $INFO =
: > "blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
: >
: > *** 73 more copies of this line deleted ***
: > .
: > .
: > .
: >
:
: Wouldn't it be easer to use a more compact representation of the string you
: put in $INFO, something like the following?
:
: $INFO = ("blah" x 20 . "\n") x 74;
:
: Give or take that I may have miscounted. :-)

The more serious problem is that in its current state the test can't be
put into the standard distribution because it assumes gdbm. The test
should be attempted only if we *think* we're running with a dbm that
supports big items. Otherwise we'll spend all our time answering the
questions of people who think their regression tests have failed.

Larry
Re[2]: Re my contrib of a gdbm testcase (the test with the blahs) [ In reply to ]
I have modified the test case to have it use GDBM extension explicitly:
#!./perl
BEGIN {
@INC = '../lib';
require Config; import Config;
if ($Config{'extensions'} !~ /\bGDBM_File\b/) {
print "1..0\n";
exit 0;
}
}

use GDBM_File;
$dbm = "DBM_TEST";

#dbmopen( %array,$dbm,0777 ) || die "Can't open $dbm: $!";
print(tie( %array,GDBM_File, "$dbm",&GDBM_WRCREAT, 0777 ) ? "ok 1\n" : "not ok
1\n");


$INFO =
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n" .
"blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah\n";

$array{"INFO"} = $INFO;
#dbmclose( array );
untie(%array );

#dbmopen( %read_array,$dbm,0777 ) || die "Can't open $dbm: $!";
print(tie( %read_array,GDBM_File, "$dbm",&GDBM_WRCREAT, 0777 ) ? "ok 2\n" : "not
ok 2\n");
$foo = $read_array{"INFO"};
# if got this far, means the big row is supported by the perl
print "$foo\n";
#print "ok 1\n";
#dbmclose( read_array );
untie(%read_array );


exit;

>
> The more serious problem is that in its current state the test can't be
> put into the standard distribution because it assumes gdbm. The test
> should be attempted only if we *think* we're running with a dbm that
> supports big items. Otherwise we'll spend all our time answering the
> questions of people who think their regression tests have failed.
>
> Larry