From: Richard Levitte Date: Fri, 18 Sep 2015 19:27:29 +0000 (+0200) Subject: Check if test_rehash is run as root X-Git-Tag: OpenSSL_1_1_0-pre1~601 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e008d1b2672f0ab6d64ab1afd20a903678bd8ed2;p=oweals%2Fopenssl.git Check if test_rehash is run as root If test/recipes/40-test_rehash.t is executed as root, the last test will fail, since the created directory will remain writable no matter what. Make sure it complains loudly about being run as root. Reviewed-by: Rich Salz --- diff --git a/test/recipes/40-test_rehash.t b/test/recipes/40-test_rehash.t index 514d0d3df3..4f0d71fbd2 100644 --- a/test/recipes/40-test_rehash.t +++ b/test/recipes/40-test_rehash.t @@ -10,7 +10,7 @@ use OpenSSL::Test qw/:DEFAULT top_file/; setup("test_rehash"); -plan tests => 4; +plan tests => 5; indir "rehash.$$" => sub { prepare(); @@ -32,8 +32,15 @@ indir "rehash.$$" => sub { indir "rehash.$$" => sub { prepare(); chmod 0500, curdir(); - isnt(run(app(["openssl", "rehash", curdir()])), 1, - 'Testing rehash operations on readonly directory'); + SKIP: { + if (!ok(!open(FOO, ">unwritable.txt"), + "Testing that we aren't running as a priviledged user, such as root")) { + close FOO; + skip "It's pointless to run the next test as root", 1; + } + isnt(run(app(["openssl", "rehash", curdir()])), 1, + 'Testing rehash operations on readonly directory'); + } chmod 0700, curdir(); # make it writable again, so cleanup works }, create => 1, cleanup => 1;