File: prep.t

package info (click to toggle)
perl 5.42.0-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 128,392 kB
  • sloc: perl: 534,963; ansic: 240,563; sh: 72,042; pascal: 6,934; xml: 2,428; yacc: 1,360; makefile: 1,197; cpp: 208; lisp: 1
file content (34 lines) | stat: -rw-r--r-- 800 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!./perl
use strict;
use Test::More tests => 4;

use SDBM_File;
use File::Temp 'tempfile';
use Fcntl;

my ($dirfh, $dirname) = tempfile(UNLINK => 1);
my ($pagfh, $pagname) = tempfile(UNLINK => 1);

# close so Win32 allows them to be re-opened
close $dirfh;
close $pagfh;

{
    my %h;

    ok(eval { tie %h, "SDBM_File", $dirname, O_CREAT | O_RDWR | O_TRUNC, 0640, $pagname; 1 },
       "create SDBM with explicit filenames")
      or diag $@;
    is(keys %h, 0, "should be empty");

    # basic sanity checks, the real storage checks are done by sdbm.t
    $h{abc} = 1;
    $h{def} = 1;
}

{
    my %h;
    ok(eval { tie %h, "SDBM_File", $dirname, O_RDWR, 0640, $pagname; 1 },
       "open SDBM with explicit filenames");
    is_deeply([ sort keys  %h] , [ qw(abc def) ], "should have two keys");
}