mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
pt_util: Initialise empty database correctly
Commit dc8f18d6f5003712bc9ef989363137a84953df07 broke pt_util's initialisation of empty databases. This is because Initdb was changed to call Initdb_check through the ubik_CheckCache wrapper. However, that wrapper was defined as a no-op in pt_util's ubik-shim. Modify pt_util's ubik_CheckCache so that it always calls into the wrapper routine - this mimics the old behaviour. Add a trival test for pt_util - check that we can build the database, using the example from the manpage, and then that the built database matches what we expect. Change-Id: I41aa9f6a531662230ed625cc3b1307016ef4107f Reviewed-on: http://gerrit.openafs.org/4211 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
parent
83f0baef29
commit
4953ce8070
@ -102,7 +102,7 @@ ubik_WaitVersion(struct ubik_dbase *adatabase,
|
||||
int
|
||||
ubik_CheckCache(struct ubik_trans *atrans, ubik_updatecache_func cbf, void *rock)
|
||||
{
|
||||
return (0);
|
||||
return (*cbf)(atrans, rock);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -4,3 +4,4 @@ util/queues
|
||||
auth/keys
|
||||
auth/superuser
|
||||
auth/authcon
|
||||
ptserver/pt_util
|
||||
|
53
tests/ptserver/pt_util-t
Executable file
53
tests/ptserver/pt_util-t
Executable file
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use File::Basename;
|
||||
use Test::More tests=>2;
|
||||
|
||||
my $builddir = $ENV{BUILD};
|
||||
if (!$builddir) {
|
||||
$builddir = dirname($0)."/..";
|
||||
}
|
||||
|
||||
$builddir.="/..";
|
||||
|
||||
my $prdbfile = "/tmp/prdbtest.$$";
|
||||
|
||||
my $instructions = <<EOF;
|
||||
admin 128/20 1 -204 -204
|
||||
system:administrators 130/20 -204 -204 -204
|
||||
admin 1
|
||||
EOF
|
||||
|
||||
my $expected = <<EOF;
|
||||
admin 128/20 1 -204 -204
|
||||
anonymous 128/20 32766 -204 -204
|
||||
system:backup 2/0 -205 -204 -204
|
||||
system:administrators 130/20 -204 -204 -204
|
||||
admin 1
|
||||
system:ptsviewers 2/0 -203 -204 -204
|
||||
system:authuser 2/0 -102 -204 -204
|
||||
system:anyuser 2/0 -101 -204 -204
|
||||
EOF
|
||||
|
||||
my $fh;
|
||||
|
||||
open $fh, '|-', "$builddir/src/ptserver/pt_util", '-w', '-p', $prdbfile
|
||||
or die "Failed to start pt_util for DB creation\n";
|
||||
print $fh $instructions;
|
||||
close($fh)
|
||||
or die "pt util failed while creating DB\n";
|
||||
|
||||
open $fh, '-|', "$builddir/src/ptserver/pt_util", '-p', $prdbfile,
|
||||
'-user', '-group', '-members'
|
||||
or die "Failed to start pt_util for DB reading\n";
|
||||
|
||||
my $output = join('', readline($fh));
|
||||
close($fh)
|
||||
or die "pt_util failed while reading from DB\n";
|
||||
is($output, $expected, "pt_util produced expected output");
|
||||
ok(1, "Completed sucessfully");
|
||||
|
||||
unlink($prdbfile);
|
Loading…
x
Reference in New Issue
Block a user