sbotools2

Maintenance fork of the original sbotools version 2
Log | Files | Refs | README

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:
At/30-race-sboconfig.t | 34++++++++++++++++++++++++++++++++++
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; +}