summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/ext/SDBM_File/t/prep.t
blob: 14bd2e8fd6ca065fd22a878e71a07d90f97ab994 (plain) (blame)
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");
}