venus: Remove dedebug
[openafs.git] / tests / ptserver / pt_util-t
1 #!/usr/bin/env perl
2
3 use strict;
4 use warnings;
5 use lib $ENV{C_TAP_SOURCE} . "/tests-lib/perl5";
6
7 use afstest qw(src_path obj_path);
8 use File::Basename;
9 use File::Temp qw(tempfile);
10 use Test::More tests=>3;
11
12 my $pt_util = obj_path("src/ptserver/pt_util");
13
14 (undef, my $prdb_tmp) = tempfile("prdbtest.XXXXXX", TMPDIR => 1, UNLINK => 1);
15 my $prdb_test = src_path("tests/ptserver/db.prtiny/prdb.DB0");
16
17 my $instructions = <<EOF;
18 admin 128/20 1 -204 -204
19 system:administrators 130/20 -204 -204 -204
20  admin 1
21 EOF
22
23 my $expected = <<EOF;
24 admin      128/20 1 -204 -204
25 anonymous  128/20 32766 -204 -204
26 system:backup 2/0 -205 -204 -204
27 system:administrators 130/20 -204 -204 -204
28    admin    1
29 system:ptsviewers 2/0 -203 -204 -204
30 system:authuser 2/0 -102 -204 -204
31 system:anyuser 2/0 -101 -204 -204
32 EOF
33
34 my $fh;
35 my $output;
36
37 open $fh, '|-', "$pt_util", '-w', '-p', $prdb_tmp
38    or die "Failed to start pt_util for DB creation\n";
39 print $fh $instructions;
40 close($fh)
41    or die "pt util failed while creating DB\n";
42
43 open $fh, '-|', "$pt_util", '-p', $prdb_tmp,
44                                      '-user', '-group', '-members'
45     or die "Failed to start pt_util for DB reading\n";
46 $output = join('', readline($fh));
47 close($fh)
48     or die "pt_util failed while reading from $prdb_tmp\n";
49 is($output, $expected, "pt_util produced expected output for generated db");
50
51 open $fh, '-|', "$pt_util", '-p', $prdb_test,
52                                      '-user', '-group', '-members'
53     or die "Failed to start pt_util for DB reading\n";
54 $output = join('', readline($fh));
55 close($fh)
56     or die "pt_util failed while reading from $prdb_test\n";
57 is($output, $expected, "pt_util produced expected output for test db");
58
59 ok(1, "Completed sucessfully");