#!/usr/bin/env perl use strict; use warnings; use lib $ENV{C_TAP_SOURCE} . "/tests-lib/perl5"; use afstest qw(src_path obj_path); use Test::More; use File::Temp qw/tempdir/; use Cwd qw/abs_path getcwd/; use File::Compare; use Sys::Hostname; use Socket; # Run tests/auth/writekeyfile, and check that the KeyFile that it generates # matches what we expect. if (!defined(gethostbyname(hostname()))) { # writekeyfile needs a hostname to generate a config dir plan skip_all => 'Cannot resolve hostname'; } plan tests => 1; my $cmd = obj_path("tests/auth/writekeyfile"); $cmd = abs_path($cmd); my $keyfile = src_path("tests/auth/KeyFile.short"); $keyfile = abs_path($keyfile); my $origdir = getcwd(); my $dir = tempdir('afs_XXXXXX', CLEANUP => 1); chdir($dir) or die("chdir $dir failed: $?"); system($cmd) == 0 or die("$cmd failed: $?"); ok(compare("KeyFile", $keyfile) == 0, "writekeyfile generates expected KeyFile"); # The cleanup handler needs to run in the original directory. chdir($origdir) or die("chdir $origdir failed: $?");