From patchwork Mon Jun 20 15:18:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 55191 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 23F94386C5B9 for ; Mon, 20 Jun 2022 15:18:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 23F94386C5B9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1655738333; bh=CpL1649+/lr1vrzgddq6m4Hlgs6GLuPF066th1ebYF4=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=S8EgnPZJVwd7jBUflqpw5vxB/Xttd1wIHlAtB42ObxWU7XaYacobSkKg07Nlg6Nvj v9NDIa3xNcfjn61hTg38Mw9zbmMsl+weZYoVQ70nMNYMzLtJmUY5CkwOx1l0LxVhTw MKnVr4hob7mJNX0fkkT4F228QjE7SwPrP6Lz2hio= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id E555D3858C2C for ; Mon, 20 Jun 2022 15:18:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E555D3858C2C Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-670-3cw32ENMNsqYg3aG__EidQ-1; Mon, 20 Jun 2022 11:18:41 -0400 X-MC-Unique: 3cw32ENMNsqYg3aG__EidQ-1 Received: by mail-qv1-f71.google.com with SMTP id kc24-20020a056214411800b0046d93b71e48so11911924qvb.3 for ; Mon, 20 Jun 2022 08:18:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:organization:date:message-id :user-agent:mime-version; bh=CpL1649+/lr1vrzgddq6m4Hlgs6GLuPF066th1ebYF4=; b=FtRpPlxKZ9S8jWNQsk/oZ12ttP7pp+6jPVe2f0Eub5xb/yDV1k0ov+3V70+ySUcgqS qlP/68OaDMHVParLR5Ht+FkvapIokATXKezJqY6KJvVBgGbGyoWawpDeCNLZUNmJ/htL Qyh/qi9Oxl0Df/WOfRbYYSWm4RmlZm59ovWHhaX8xreHr2bw3gi+AMkejtX2Aam4HKcW msYeEA2Dck1haFn+rssO65CJ4uOSqEsR/vT6+IGpuCpsAmBx6cBzs6QxRUW/FSGvKqDk l/VKlk5XDuHu5dVf0XjcdcaLd3t1JMGpv6ue6pdMwi3M/4pzlNP7vz/d4K8Na7GJeB+r wJnQ== X-Gm-Message-State: AJIora8EUaEQan0sPxCgmtTb3JLIMewXOE9U77Bs/4/oKMeq6mjKvswE jlkh6jbDnMh7A+GpHTngxySARoUtCXJwj7LmAwb1OTjhpWf+7xNwjKVfsW3w4Uq1SmfGyXUjCwf uCSFKmdER/FwWrrY2iQfk8wE6ds/FNHXea8mQLLxsL8L4xuOtB7GF29n6/lFTf3Aq9OLe X-Received: by 2002:ac8:5846:0:b0:305:ad0:d159 with SMTP id h6-20020ac85846000000b003050ad0d159mr20084460qth.660.1655738319104; Mon, 20 Jun 2022 08:18:39 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u9BEhDTFgYr8Y3EjXYJDVPcjwoA9csSi4qF6lXEFC2F9Vu25FFOIgijFqlrB5UEAqjRNuBEA== X-Received: by 2002:ac8:5846:0:b0:305:ad0:d159 with SMTP id h6-20020ac85846000000b003050ad0d159mr20084355qth.660.1655738317689; Mon, 20 Jun 2022 08:18:37 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id r2-20020ac85c82000000b00304e688189fsm11287118qta.37.2022.06.20.08.18.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 08:18:37 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id 314EB5800FC; Mon, 20 Jun 2022 17:18:34 +0200 (CEST) To: libabigail@sourceware.org Subject: [PATCH, applied] test-read-dwarf: Use abidw rather than using the library Organization: Red Hat / France X-Operating-System: Fedora 37 X-URL: http://www.redhat.com Date: Mon, 20 Jun 2022 17:18:33 +0200 Message-ID: <8735fzics6.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, When this test fails, sometimes it's difficult to reproduce the problem using abidw. That's because this test is using the library directly, so the exact setup is not always straightforward to reproduce and eventually debug. This test changes tests/test-read-dwarf.cc to make it use abidw rather than using the library directly. * tests/test-read-dwarf.cc (set_suppressions) (set_suppressions_from_headers): Remove these static functions. (test_task_dwarf::perform): Use abidw rather than using the library. Remove the path and architecture from the abixml files. Also, when the test fails, display the actual command that failed. Signed-off-by: Dodji Seketeli Applied to master. --- .../PR22015-libboost_iostreams.so.abi | 2 +- .../test-read-dwarf/PR22122-libftdc.so.abi | 2 +- .../PR24378-fn-is-not-scope.abi | 2 +- .../data/test-read-dwarf/PR25007-sdhci.ko.abi | 479 ++++++++---------- .../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi | 2 +- .../test-read-dwarf/PR26261/PR26261-exe.abi | 2 +- .../test-read-dwarf/PR27700/test-PR27700.abi | 2 +- .../PR28584/PR28584-smv.clang.o.abi | 2 +- tests/data/test-read-dwarf/libtest23.so.abi | 2 +- .../libtest24-drop-fns-2.so.abi | 2 +- .../test-read-dwarf/libtest24-drop-fns.so.abi | 323 ++++++------ .../data/test-read-dwarf/test-PR26568-1.o.abi | 2 +- .../data/test-read-dwarf/test-PR26568-2.o.abi | 2 +- .../test-read-dwarf/test-libaaudio.so.abi | 2 +- .../test-read-dwarf/test-libandroid.so.abi | 2 +- .../test-suppressed-alias.o.abi | 8 +- tests/data/test-read-dwarf/test0.abi | 2 +- tests/data/test-read-dwarf/test0.hash.abi | 2 +- tests/data/test-read-dwarf/test1.abi | 2 +- tests/data/test-read-dwarf/test1.hash.abi | 2 +- .../test-read-dwarf/test10-pr18818-gcc.so.abi | 2 +- .../test-read-dwarf/test11-pr18828.so.abi | 2 +- .../test-read-dwarf/test12-pr18844.so.abi | 2 +- .../test-read-dwarf/test13-pr18894.so.abi | 2 +- .../test-read-dwarf/test14-pr18893.so.abi | 2 +- .../test-read-dwarf/test15-pr18892.so.abi | 2 +- .../test-read-dwarf/test16-pr18904.so.abi | 2 +- .../test-read-dwarf/test17-pr19027.so.abi | 2 +- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 2 +- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 2 +- tests/data/test-read-dwarf/test2.so.abi | 2 +- tests/data/test-read-dwarf/test2.so.hash.abi | 2 +- ...st20-pr19025-libvtkParallelCore-6.1.so.abi | 2 +- .../test-read-dwarf/test21-pr19092.so.abi | 2 +- .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 2 +- .../test-read-dwarf/test3-alias-1.so.hash.abi | 9 +- .../test-read-dwarf/test3-alias-2.so.hash.abi | 5 +- .../test-read-dwarf/test3-alias-3.so.hash.abi | 9 +- .../test-read-dwarf/test3-alias-4.so.hash.abi | 13 +- tests/data/test-read-dwarf/test3.so.abi | 2 +- tests/data/test-read-dwarf/test3.so.hash.abi | 2 +- tests/data/test-read-dwarf/test4.so.abi | 2 +- tests/data/test-read-dwarf/test4.so.hash.abi | 2 +- tests/data/test-read-dwarf/test5.o.abi | 2 +- tests/data/test-read-dwarf/test5.o.hash.abi | 2 +- tests/data/test-read-dwarf/test6.so.abi | 2 +- tests/data/test-read-dwarf/test6.so.hash.abi | 2 +- tests/data/test-read-dwarf/test7.so.abi | 2 +- tests/data/test-read-dwarf/test7.so.hash.abi | 2 +- .../test8-qualified-this-pointer.so.abi | 2 +- .../test8-qualified-this-pointer.so.hash.abi | 2 +- .../test9-pr18818-clang.so.abi | 2 +- tests/test-read-dwarf.cc | 97 +--- 53 files changed, 490 insertions(+), 543 deletions(-) diff --git a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi index a7475e95..25ef5373 100644 --- a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi +++ b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi index 81883af4..f4533d9e 100644 --- a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi +++ b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi b/tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi index 7860fa13..0769ed63 100644 --- a/tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi +++ b/tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi index 5d16731e..33f07815 100644 --- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi +++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi @@ -1,4 +1,4 @@ - + @@ -10107,10 +10107,19 @@ + + + + + + + + + @@ -10138,6 +10147,10 @@ + + + + @@ -10164,6 +10177,9 @@ + + + @@ -10181,6 +10197,16 @@ + + + + + + + + + + @@ -10370,6 +10396,13 @@ + + + + + + + @@ -10519,6 +10552,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10531,6 +10589,17 @@ + + + + + + + + + + + @@ -10591,6 +10660,10 @@ + + + + @@ -10631,6 +10704,22 @@ + + + + + + + + + + + + + + + + @@ -10746,6 +10835,10 @@ + + + + @@ -10770,6 +10863,14 @@ + + + + + + + + @@ -10815,6 +10916,9 @@ + + + @@ -10859,6 +10963,15 @@ + + + + + + + + + @@ -10885,11 +10998,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10923,6 +11069,18 @@ + + + + + + + + + + + + @@ -10936,6 +11094,14 @@ + + + + + + + + @@ -10949,6 +11115,13 @@ + + + + + + + @@ -11075,12 +11248,26 @@ + + + + + + + + + + + + + + @@ -11124,6 +11311,15 @@ + + + + + + + + + @@ -11192,10 +11388,19 @@ + + + + + + + + + @@ -11210,6 +11415,10 @@ + + + + @@ -11224,6 +11433,9 @@ + + + @@ -11241,223 +11453,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -11477,48 +11472,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi b/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi index 4e09beca..e0fb36bd 100644 --- a/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi +++ b/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/PR26261/PR26261-exe.abi b/tests/data/test-read-dwarf/PR26261/PR26261-exe.abi index d393317a..0876677c 100644 --- a/tests/data/test-read-dwarf/PR26261/PR26261-exe.abi +++ b/tests/data/test-read-dwarf/PR26261/PR26261-exe.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/PR27700/test-PR27700.abi b/tests/data/test-read-dwarf/PR27700/test-PR27700.abi index 043ae0ca..026d735f 100644 --- a/tests/data/test-read-dwarf/PR27700/test-PR27700.abi +++ b/tests/data/test-read-dwarf/PR27700/test-PR27700.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/PR28584/PR28584-smv.clang.o.abi b/tests/data/test-read-dwarf/PR28584/PR28584-smv.clang.o.abi index b6ab4779..467bdd10 100644 --- a/tests/data/test-read-dwarf/PR28584/PR28584-smv.clang.o.abi +++ b/tests/data/test-read-dwarf/PR28584/PR28584-smv.clang.o.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/libtest23.so.abi b/tests/data/test-read-dwarf/libtest23.so.abi index 11e633fc..2bc154ed 100644 --- a/tests/data/test-read-dwarf/libtest23.so.abi +++ b/tests/data/test-read-dwarf/libtest23.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi b/tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi index f2aa3dfd..ecb284d2 100644 --- a/tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi +++ b/tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/libtest24-drop-fns.so.abi b/tests/data/test-read-dwarf/libtest24-drop-fns.so.abi index 9aa9cbe0..ecb284d2 100644 --- a/tests/data/test-read-dwarf/libtest24-drop-fns.so.abi +++ b/tests/data/test-read-dwarf/libtest24-drop-fns.so.abi @@ -1,4 +1,4 @@ - + @@ -204,70 +204,85 @@ - + + - - - - - - - - - - - + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -275,10 +290,10 @@ - - + + - + @@ -289,67 +304,73 @@ - - + + - + - + - + - + - + + + + + + + - - - - - - + + + + + + - - + + - - + + - - + + - + - + - + - + - + - + @@ -363,7 +384,7 @@ - + @@ -377,7 +398,7 @@ - + @@ -391,12 +412,12 @@ - + - + - + @@ -405,7 +426,7 @@ - + @@ -419,8 +440,8 @@ - - + + @@ -428,95 +449,95 @@ - + + - - + + - - + + - - + + - - + - - + + - - + + - - + + + - - - + + - - + + + - - - + + - + - - + + + - - + + - - + - + - + @@ -531,74 +552,74 @@ - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -609,72 +630,72 @@ - + - + - + - + - - + + - - + + - + - - + + - + - + - - + + - - + + - - + + - - - + + + @@ -703,13 +724,13 @@ - + - + - + @@ -719,10 +740,10 @@ - + - - + + @@ -743,6 +764,6 @@ - + diff --git a/tests/data/test-read-dwarf/test-PR26568-1.o.abi b/tests/data/test-read-dwarf/test-PR26568-1.o.abi index 1056dc9a..f3994ea1 100644 --- a/tests/data/test-read-dwarf/test-PR26568-1.o.abi +++ b/tests/data/test-read-dwarf/test-PR26568-1.o.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test-PR26568-2.o.abi b/tests/data/test-read-dwarf/test-PR26568-2.o.abi index b67b4386..044e8b48 100644 --- a/tests/data/test-read-dwarf/test-PR26568-2.o.abi +++ b/tests/data/test-read-dwarf/test-PR26568-2.o.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test-libaaudio.so.abi b/tests/data/test-read-dwarf/test-libaaudio.so.abi index ac82c7d3..f8781764 100644 --- a/tests/data/test-read-dwarf/test-libaaudio.so.abi +++ b/tests/data/test-read-dwarf/test-libaaudio.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test-libandroid.so.abi b/tests/data/test-read-dwarf/test-libandroid.so.abi index d4c19570..c35285ae 100644 --- a/tests/data/test-read-dwarf/test-libandroid.so.abi +++ b/tests/data/test-read-dwarf/test-libandroid.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test-suppressed-alias.o.abi b/tests/data/test-read-dwarf/test-suppressed-alias.o.abi index 74742b40..f7c7c66a 100644 --- a/tests/data/test-read-dwarf/test-suppressed-alias.o.abi +++ b/tests/data/test-read-dwarf/test-suppressed-alias.o.abi @@ -1,16 +1,18 @@ - + + + - + - + diff --git a/tests/data/test-read-dwarf/test0.abi b/tests/data/test-read-dwarf/test0.abi index c6656367..1e799912 100644 --- a/tests/data/test-read-dwarf/test0.abi +++ b/tests/data/test-read-dwarf/test0.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test0.hash.abi b/tests/data/test-read-dwarf/test0.hash.abi index d33a763f..27bd847f 100644 --- a/tests/data/test-read-dwarf/test0.hash.abi +++ b/tests/data/test-read-dwarf/test0.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test1.abi b/tests/data/test-read-dwarf/test1.abi index 1c3b5dd7..d6b83d2b 100644 --- a/tests/data/test-read-dwarf/test1.abi +++ b/tests/data/test-read-dwarf/test1.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test1.hash.abi b/tests/data/test-read-dwarf/test1.hash.abi index e68345ff..65071af5 100644 --- a/tests/data/test-read-dwarf/test1.hash.abi +++ b/tests/data/test-read-dwarf/test1.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi index ef41c25f..3a9af4ab 100644 --- a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi +++ b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test11-pr18828.so.abi b/tests/data/test-read-dwarf/test11-pr18828.so.abi index d0a4c213..43ab8dfe 100644 --- a/tests/data/test-read-dwarf/test11-pr18828.so.abi +++ b/tests/data/test-read-dwarf/test11-pr18828.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test12-pr18844.so.abi b/tests/data/test-read-dwarf/test12-pr18844.so.abi index 3a9bb056..ad53e0d8 100644 --- a/tests/data/test-read-dwarf/test12-pr18844.so.abi +++ b/tests/data/test-read-dwarf/test12-pr18844.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test13-pr18894.so.abi b/tests/data/test-read-dwarf/test13-pr18894.so.abi index e9ea1640..f2960fed 100644 --- a/tests/data/test-read-dwarf/test13-pr18894.so.abi +++ b/tests/data/test-read-dwarf/test13-pr18894.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test14-pr18893.so.abi b/tests/data/test-read-dwarf/test14-pr18893.so.abi index 4ed7a8cd..a7da6702 100644 --- a/tests/data/test-read-dwarf/test14-pr18893.so.abi +++ b/tests/data/test-read-dwarf/test14-pr18893.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test15-pr18892.so.abi b/tests/data/test-read-dwarf/test15-pr18892.so.abi index a6a3771d..8071615f 100644 --- a/tests/data/test-read-dwarf/test15-pr18892.so.abi +++ b/tests/data/test-read-dwarf/test15-pr18892.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi index 6b91779d..fc5b6162 100644 --- a/tests/data/test-read-dwarf/test16-pr18904.so.abi +++ b/tests/data/test-read-dwarf/test16-pr18904.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test17-pr19027.so.abi b/tests/data/test-read-dwarf/test17-pr19027.so.abi index 168f0343..17b8cf75 100644 --- a/tests/data/test-read-dwarf/test17-pr19027.so.abi +++ b/tests/data/test-read-dwarf/test17-pr19027.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi b/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi index fc38ff19..6c87e7df 100644 --- a/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi +++ b/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi index 5266a5fa..9782cd3b 100644 --- a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi +++ b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test2.so.abi b/tests/data/test-read-dwarf/test2.so.abi index b1f132e6..aa47bdb0 100644 --- a/tests/data/test-read-dwarf/test2.so.abi +++ b/tests/data/test-read-dwarf/test2.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test2.so.hash.abi b/tests/data/test-read-dwarf/test2.so.hash.abi index bf973241..7bd29994 100644 --- a/tests/data/test-read-dwarf/test2.so.hash.abi +++ b/tests/data/test-read-dwarf/test2.so.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi b/tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi index d51c55d5..53c28317 100644 --- a/tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi +++ b/tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test21-pr19092.so.abi b/tests/data/test-read-dwarf/test21-pr19092.so.abi index 8cf838aa..6dbd033c 100644 --- a/tests/data/test-read-dwarf/test21-pr19092.so.abi +++ b/tests/data/test-read-dwarf/test21-pr19092.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi index 568a0633..268af00f 100644 --- a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi +++ b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi index b3a4801a..386ce6eb 100644 --- a/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi +++ b/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi @@ -1,9 +1,14 @@ - + - + + + + + + diff --git a/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi index 07a7f2c4..386ce6eb 100644 --- a/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi +++ b/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi @@ -1,8 +1,9 @@ - + + @@ -10,7 +11,7 @@ - + diff --git a/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi index 7908bdb8..386ce6eb 100644 --- a/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi +++ b/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi @@ -1,12 +1,17 @@ - + + + + + + - + diff --git a/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi index 22a56fa5..386ce6eb 100644 --- a/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi +++ b/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi @@ -1,8 +1,19 @@ - + + + + + + + + + + + + diff --git a/tests/data/test-read-dwarf/test3.so.abi b/tests/data/test-read-dwarf/test3.so.abi index a9bf781f..36589a43 100644 --- a/tests/data/test-read-dwarf/test3.so.abi +++ b/tests/data/test-read-dwarf/test3.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test3.so.hash.abi b/tests/data/test-read-dwarf/test3.so.hash.abi index f429b22f..386ce6eb 100644 --- a/tests/data/test-read-dwarf/test3.so.hash.abi +++ b/tests/data/test-read-dwarf/test3.so.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test4.so.abi b/tests/data/test-read-dwarf/test4.so.abi index c38fff66..34c8b1ac 100644 --- a/tests/data/test-read-dwarf/test4.so.abi +++ b/tests/data/test-read-dwarf/test4.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test4.so.hash.abi b/tests/data/test-read-dwarf/test4.so.hash.abi index 7223f5eb..f74aebaf 100644 --- a/tests/data/test-read-dwarf/test4.so.hash.abi +++ b/tests/data/test-read-dwarf/test4.so.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test5.o.abi b/tests/data/test-read-dwarf/test5.o.abi index 1c75984c..4bfd5c37 100644 --- a/tests/data/test-read-dwarf/test5.o.abi +++ b/tests/data/test-read-dwarf/test5.o.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test5.o.hash.abi b/tests/data/test-read-dwarf/test5.o.hash.abi index 21a30cf9..c7b6e2f0 100644 --- a/tests/data/test-read-dwarf/test5.o.hash.abi +++ b/tests/data/test-read-dwarf/test5.o.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test6.so.abi b/tests/data/test-read-dwarf/test6.so.abi index 4df757aa..17fcdecd 100644 --- a/tests/data/test-read-dwarf/test6.so.abi +++ b/tests/data/test-read-dwarf/test6.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test6.so.hash.abi b/tests/data/test-read-dwarf/test6.so.hash.abi index 5ef87087..5495813c 100644 --- a/tests/data/test-read-dwarf/test6.so.hash.abi +++ b/tests/data/test-read-dwarf/test6.so.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test7.so.abi b/tests/data/test-read-dwarf/test7.so.abi index 3285549c..af702077 100644 --- a/tests/data/test-read-dwarf/test7.so.abi +++ b/tests/data/test-read-dwarf/test7.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test7.so.hash.abi b/tests/data/test-read-dwarf/test7.so.hash.abi index cc9becbe..72223a95 100644 --- a/tests/data/test-read-dwarf/test7.so.hash.abi +++ b/tests/data/test-read-dwarf/test7.so.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi b/tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi index 3c750fe7..c02b7230 100644 --- a/tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi +++ b/tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi b/tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi index b2659361..064e93f6 100644 --- a/tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi +++ b/tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/data/test-read-dwarf/test9-pr18818-clang.so.abi b/tests/data/test-read-dwarf/test9-pr18818-clang.so.abi index a75d83a0..07412433 100644 --- a/tests/data/test-read-dwarf/test9-pr18818-clang.so.abi +++ b/tests/data/test-read-dwarf/test9-pr18818-clang.so.abi @@ -1,4 +1,4 @@ - + diff --git a/tests/test-read-dwarf.cc b/tests/test-read-dwarf.cc index 3bbceeeb..fb5d168b 100644 --- a/tests/test-read-dwarf.cc +++ b/tests/test-read-dwarf.cc @@ -26,6 +26,7 @@ using abigail::tests::read_common::InOutSpec; using abigail::tests::read_common::test_task; using abigail::tests::read_common::display_usage; using abigail::tests::read_common::options; +using abigail::tests::get_build_dir; using abigail::dwarf_reader::read_corpus_from_elf; using abigail::dwarf_reader::read_context; @@ -33,6 +34,7 @@ using abigail::dwarf_reader::read_context_sptr; using abigail::dwarf_reader::create_read_context; using abigail::xml_writer::SEQUENCE_TYPE_ID_STYLE; using abigail::xml_writer::HASH_TYPE_ID_STYLE; +using abigail::xml_writer::type_id_style_kind; using abigail::tools_utils::emit_prefix; static InOutSpec in_out_specs[] = @@ -494,46 +496,6 @@ using abigail::suppr::suppression_sptr; using abigail::suppr::suppressions_type; using abigail::suppr::read_suppressions; -/// Set the suppression specification to use when reading the ELF binary. -/// -/// @param read_ctxt the context used to read the ELF binary. -/// -/// @param path the path to the suppression specification to read. -static void -set_suppressions(read_context& read_ctxt, const string& path) -{ - suppressions_type supprs; - read_suppressions(path, supprs); - add_read_context_suppressions(read_ctxt, supprs); -} - -/// Define what headers contain public types definitions. -/// -/// This automatically generates suppression specifications from the -/// set of header files present under a given directory. Those -/// specifications actually suppress types that are *not* defined in -/// the headers found at a given directory. -/// -/// @param read_ctxt the context used to read the ELF binary. -/// -/// @param path the path to a directory where header files are to be -/// found. -static void -set_suppressions_from_headers(read_context& read_ctxt, const string& path) -{ - vector files; - suppression_sptr suppr = - abigail::tools_utils::gen_suppr_spec_from_headers(path, files); - - if (suppr) - { - suppr->set_drops_artifact_from_ir(true); - suppressions_type supprs; - supprs.push_back(suppr); - add_read_context_suppressions(read_ctxt, supprs); - } -} - /// Task specialization to perform DWARF tests. struct test_task_dwarf : public test_task { @@ -577,52 +539,35 @@ test_task_dwarf::test_task_dwarf(const InOutSpec &s, void test_task_dwarf::perform() { - abigail::ir::environment_sptr env; - set_in_elf_path(); set_in_suppr_spec_path(); set_in_public_headers_path(); - env.reset(new abigail::ir::environment); - abigail::elf_reader::status status = - abigail::elf_reader::STATUS_UNKNOWN; - vector di_roots; - ABG_ASSERT(abigail::tools_utils::file_exists(in_elf_path)); - read_context_sptr ctxt = create_read_context(in_elf_path, - di_roots, - env.get()); - ABG_ASSERT(ctxt); - if (!in_suppr_spec_path.empty()) - set_suppressions(*ctxt, in_suppr_spec_path); + if (!set_out_abi_path() + || in_elf_path.empty()) + return; + string abidw = string(get_build_dir()) + "/tools/abidw"; + string drop_private_types; if (!in_public_headers_path.empty()) - set_suppressions_from_headers(*ctxt, in_public_headers_path); + drop_private_types += "--headers-dir " + in_public_headers_path + + " --drop-private-types"; + string type_id_style = "sequence"; + if (spec.type_id_style == HASH_TYPE_ID_STYLE) + type_id_style = "hash"; - abigail::corpus_sptr corp = read_corpus_from_elf(*ctxt, status); - // if there is no output and no input, assume that we do not care about the - // actual read result, just that it succeeded. - if (!spec.in_abi_path && !spec.out_abi_path) - { - // Phew! we made it here and we did not crash! yay! - return; - } - if (!corp) + string cmd = abidw + " --no-architecture " + + " --type-id-style " + type_id_style + + " --no-corpus-path " + + drop_private_types + " " + in_elf_path + +" > " + out_abi_path; + + if (system(cmd.c_str())) { - error_message = string("failed to read ") + in_elf_path + "\n"; - is_ok = false; + error_message = string("abidw failed:\n") + + "command was: '" + cmd + "'\n"; return; } - corp->set_path(spec.in_elf_path); - // Do not take architecture names in comparison so that these - // test input binaries can come from whatever arch the - // programmer likes. - corp->set_architecture_name(""); - - if (!(is_ok = set_out_abi_path())) - return; - - if (!(is_ok = serialize_corpus(out_abi_path, corp))) - return; if (!(is_ok = run_abidw())) return;