Fix test/recipes/01-test_symbol_presence.t to disregard version info
authorRichard Levitte <levitte@openssl.org>
Thu, 14 Oct 2021 16:49:11 +0000 (18:49 +0200)
committerRichard Levitte <levitte@openssl.org>
Thu, 14 Oct 2021 17:03:28 +0000 (19:03 +0200)
The output of 'nm -DPg' contains version info attached to the symbols,
which makes the test fail.  Simply dropping the version info makes the
test work again.

Fixes #16810 (followup)

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16840)

test/recipes/01-test_symbol_presence.t

index 12ad278e2795eaabf0d11567d8c17040d43994cc..5be59bb7e16c37a7eb5b4380c26519bdf16c8a87 100644 (file)
@@ -69,7 +69,17 @@ foreach my $libname (@libnames) {
         note "Number of lines in \@def_lines before massaging: ", scalar @def_lines;
 
         # Massage the nm output to only contain defined symbols
-        @nm_lines = sort map { s| .*||; $_ } grep(m|.* [BCDST] .*|, @nm_lines);
+        @nm_lines =
+            sort
+            map {
+                # Drop the first space and everything following it
+                s| .*||;
+                # Drop OpenSSL dynamic version information if there is any
+                s|\@\@OPENSSL_[0-9._]+[a-z]?$||;
+                # Return the result
+                $_
+            }
+            grep(m|.* [BCDST] .*|, @nm_lines);
 
         # Massage the mkdef.pl output to only contain global symbols
         # The output we got is in Unix .map format, which has a global