OpenSSL::Test: add data_dir()
authorRichard Levitte <levitte@openssl.org>
Wed, 11 Apr 2018 07:54:59 +0000 (09:54 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 11 Apr 2018 10:04:18 +0000 (12:04 +0200)
For test recipes that want to use the directory of the data directory
or a subdirectory thereof, rather than just individual files.

Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5928)

util/perl/OpenSSL/Test.pm

index f4b1b50d8b8a14a5d44ca7cfe51072cfd3e03b1b..19141e91acfa44daeaf479eb53ccb71edab68dba 100644 (file)
@@ -607,6 +607,23 @@ sub srctop_file {
 
 =over 4
 
+=item B<data_dir LIST>
+
+LIST is a list of directories that make up a path from the data directory
+associated with the test (see L</DESCRIPTION> above).
+C<data_dir> returns the resulting directory as a string, adapted to the local
+operating system.
+
+=back
+
+=cut
+
+sub data_dir {
+    return __data_dir(@_);
+}
+
+=over 4
+
 =item B<data_file LIST, FILENAME>
 
 LIST is a list of directories that make up a path from the data directory
@@ -967,6 +984,12 @@ sub __data_file {
     return catfile($directories{SRCDATA},@_,$f);
 }
 
+sub __data_dir {
+    BAIL_OUT("Must run setup() first") if (! $test_name);
+
+    return catdir($directories{SRCDATA},@_);
+}
+
 sub __results_file {
     BAIL_OUT("Must run setup() first") if (! $test_name);