diff options
author | Richard Levitte <levitte@openssl.org> | 2017-01-12 13:07:39 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2017-01-12 15:23:15 +0100 |
commit | 6a15d5b637638c37046d90c02e717543fa63f6da (patch) | |
tree | f2c3b71c38d2aa0fba9a3b359c11e0c35e03b9bc /test | |
parent | 027609f9563014a6f5bc6917f085bd77e8dc8dc7 (diff) |
UI: fix uitest for VMS
- On VMS, apps/apps.c depends on apps/vms_term_sock.c, so add it to
the build
- On VMS, apps/*.c are compiled with default symbol settings,
i.e. uppercased and truncated symbols, which differs from test
programs. Make sure uitest.c knows that with a few pragmas.
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2218)
Diffstat (limited to 'test')
-rw-r--r-- | test/build.info | 6 | ||||
-rw-r--r-- | test/uitest.c | 17 |
2 files changed, 22 insertions, 1 deletions
diff --git a/test/build.info b/test/build.info index eed8aa5fa7..c116238948 100644 --- a/test/build.info +++ b/test/build.info @@ -5,6 +5,9 @@ my ($base, $files) = @_; return join(" ", map { "$base/$_" } split(/\s+/, $files)); } + our $apps_extra = + $config{target} =~ /^vms-/ ? "../apps/vms_term_sock.c" : ""; + "" -} IF[{- !$disabled{tests} -}] PROGRAMS_NO_INST=\ @@ -316,7 +319,8 @@ IF[{- !$disabled{tests} -}] DEPEND[cipher_overhead_test]=../libcrypto ../libssl ENDIF - SOURCE[uitest]=uitest.c testutil.c test_main_custom.c ../apps/apps.c ../apps/opt.c + SOURCE[uitest]=uitest.c testutil.c test_main_custom.c \ + ../apps/apps.c ../apps/opt.c {- $apps_extra -} INCLUDE[uitest]=.. ../include DEPEND[uitest]=../libcrypto ../libssl diff --git a/test/uitest.c b/test/uitest.c index 16d83b9528..0a7420d4d1 100644 --- a/test/uitest.c +++ b/test/uitest.c @@ -11,8 +11,25 @@ #include <string.h> #include <openssl/opensslconf.h> #include <openssl/err.h> + +/* + * We know that on VMS, the [.apps] object files are compiled with uppercased + * symbols. We must therefore follow suit, or there will be linking errors. + * Additionally, the VMS build does stdio via a socketpair. + */ +#ifdef __VMS +# pragma names save +# pragma names uppercase, truncated + +# include "../apps/vms_term_sock.h" +#endif + #include "../apps/apps.h" +#ifdef __VMS +# pragma names restore +#endif + #include "testutil.h" #include "test_main_custom.h" |