mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 06:50:12 +00:00
pt_util: Initialise empty database correctly
Commitdc8f18d6f5
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. (cherry picked from commit4953ce8070
) Reviewed-on: http://gerrit.openafs.org/4211 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementia.org> Change-Id: If4cfbda25f8d1c5e1da4c1e42982c74becf386e3 Reviewed-on: http://gerrit.openafs.org/4217 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
parent
c97ec07497
commit
fbd4a43ddf
@ -101,7 +101,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
|
||||
|
@ -1,2 +1,3 @@
|
||||
util/ktime
|
||||
util/exec-alt
|
||||
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…
Reference in New Issue
Block a user