commit c869532d063368ad0fe015eab7603c38e62c03c3
parent e709693ca2107f99fc69fcc11d2b5d6b99bd0a3a
Author: Andreas Guldstrand <andreas.guldstrand@gmail.com>
Date: Wed, 31 Aug 2016 00:27:49 +0200
30-race-sboconfig.t: add race test for sboconfig
Diffstat:
1 file changed, 34 insertions(+), 0 deletions(-)
diff --git a/t/30-race-sboconfig.t b/t/30-race-sboconfig.t
@@ -0,0 +1,34 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use Test::More;
+use Test::Exit;
+use FindBin '$RealBin';
+use lib $RealBin;
+use Test::Sbotools 'load';
+use Capture::Tiny qw/ capture_merged /;
+use File::Temp 'tempdir';
+use Cwd;
+
+plan tests => 2;
+
+# 1-2: sbocheck race test...
+{
+ load('sboconfig');
+
+ my $file = "/etc/sbotools/sbotools.conf";
+ mkdir "/etc/sbotools";
+ rename $file, "$file.bak";
+
+ no warnings 'redefine', 'once';
+ local *main::open_fh = sub { return "Unable to open $file.\n", 6; };
+
+ my $exit;
+ my $out = capture_merged { $exit = exit_code { main::config_write(1,2); }; };
+
+ like ($out, qr/\QUnable to open $file./, "sboconfig's config_write() gave correct output");
+ is ($exit, 6, "sboconfig's config_write() exited with 6");
+
+ rename "$file.bak", $file;
+}