From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id C386238582BA for ; Fri, 8 Jul 2022 14:32:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C386238582BA Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 268B8OPf021399 for ; Fri, 8 Jul 2022 14:32:38 GMT Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3h4ubyfweb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 08 Jul 2022 14:32:33 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 268EWRwS036078 for ; Fri, 8 Jul 2022 14:32:32 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2107.outbound.protection.outlook.com [104.47.58.107]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3h4udghu80-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 08 Jul 2022 14:32:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WBYGWqDW8/DAzVQjkKcnVdsl/GYBZ4N7/GPyczo6TdhEkzkh23biPJk7MTpdqhlZLGf6fHXC68L4FoHAUN7OnsEF3WqSaUUp6w+i/s4UKSCF+BYumSkE62eMLlRrpZ7kkbdmb4qOZ3B9su9wH65BbsaEC9U2D1s5MjK3L1kKP2pxrWFv9WlQm/zOcjyq9nKT71eGH69xhaTqqfSi4CFNPNvPkwZfSzNecWGc24Po5195u95DTxXX/NYHk6+yc/M+FPWjarN2nvwufJFKciIKBL00WqwPo90/qZHguH6YoUFnLXXUt/eMrgGX070KsQ1dJ7PIyWzByT7iEFRNEOZjXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GWMnkMgseZEQXPkcy+X27zgb1Mhmm39+2iDJ2P+mEqw=; b=AH/nYGrNlVzqcMBxaraOakGWHEqw68SU55ePF+NrJUfEozq/CfKVsfR+L890l6HGJlnTNL7RYUfQPblI3sMUlFXmVoFXz+ZBzUMlWEgwUqjbQpcyCKyI9Il0tVJjHyH+cJ5EeJqdD7fJcNfdI6zc/b/RGRIueX/zOuGFyG4BWO1LCWBb3hkItbJBMsfYHAK2MTXAf9OMkxxyzaxem531+cZoIv+uV9/T6yPvdzJyErrwsDPXRHfanmjy+P93z14IjVdGAsC5+LODDdN6xia7ZKXUZq+YoaJC1P9xCFmUEH+PxPwElwhfiHmw9l+426BCO3llVOOfhAb7R4ZpTR8O4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) by PH0PR10MB4534.namprd10.prod.outlook.com (2603:10b6:510:30::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.20; Fri, 8 Jul 2022 14:31:01 +0000 Received: from MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::40f0:f59d:aca7:92ea]) by MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::40f0:f59d:aca7:92ea%3]) with mapi id 15.20.5417.020; Fri, 8 Jul 2022 14:31:01 +0000 From: "Guillermo E. Martinez" To: libabigail@sourceware.org Subject: [PATCH v3] Add regression tests for abipkgdiff using ctf info Date: Fri, 8 Jul 2022 09:30:33 -0500 Message-Id: <20220708143034.191655-1-guillermo.e.martinez@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220705010023.349341-1-guillermo.e.martinez@oracle.com> References: <20220705010023.349341-1-guillermo.e.martinez@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SN4PR0501CA0131.namprd05.prod.outlook.com (2603:10b6:803:42::48) To MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c77cc756-5158-4a98-74f1-08da60ee70f3 X-MS-TrafficTypeDiagnostic: PH0PR10MB4534:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4vHxJcWmS08oxOUzGUSGLs1KfwCJY3BAoym7r+sxWG7Y3nXfS3waQla7JXF2?= =?us-ascii?Q?NNGPFFQkryB5capGXoLh9iT6bnN6c+if3AnHxvLsTxtOhk2nkXxi0mUlJfho?= =?us-ascii?Q?5otBCsPMUNm3/yPNnMg0Y3xsIj/6McP6Dt/Qf2aDH2tAzqzFWJJXk0tyeX61?= =?us-ascii?Q?O8NlMmXeviOEO0AlNRlm/lPaXEQiDH1TJosAZDjlI2yL3k0+kMy+y9ZmPoR5?= =?us-ascii?Q?5CecAr5FDGwgT+iA5gI/NYxPw+usefIUJYaaqdb/nQEA3mnJ71OZb3cPHLYP?= =?us-ascii?Q?MBJxWMp86ypGlmXive8HerXgeJHHHMLPDO/5fswUjZ+JxWpL3QDTeWo3z0Fs?= =?us-ascii?Q?IlzZAjSO6yO7j+XOefWXsQIT+jSyECleXUGpepl4uUH0KTpVRR5OAXAGSt7x?= =?us-ascii?Q?Ms04FNQhNjxDYoTEVvZVEnppHGUqYJ3SGhLdkoAg/5W/r+PO38WAMOaG2fIJ?= =?us-ascii?Q?Q1W62XYPzM/zQk7nLEZpqdJ2+IHRgjQVqI/egoVfuZWGV9JwMZkbAGneryjX?= =?us-ascii?Q?k+0uEoPIgU1cfLmwg17UoPqujTXvFxGcimh1grbNUhe3APscoYTr1ZwuBpKv?= =?us-ascii?Q?YivLghXmU5fVOMpVkzJZhihj0zMK6wOHayvhzS30sbyLfKPCI3sK3vF8GsdN?= =?us-ascii?Q?RNgmwh+e6uN4Wnux32M7Yo8otIfJUxZ+VoiHKJuhm3S2VL4kXEyeU+0g5UZS?= =?us-ascii?Q?MmS9ZM59agG+Pza4sJHBTzkFQYCvkgHyphUyyJMFE26B+DsPvEMtXA+NOwX8?= =?us-ascii?Q?nqI9XehAMDo0czIBaT3BscDDRi44eyD6U6look3f+8o7u1lb7acjWCh5R4zH?= =?us-ascii?Q?rXqW+9PX85GV1ciEXoZKttAz1xPxl+ex7v2Ru3I9vPl57DKbVRq9K9dyaNav?= =?us-ascii?Q?f2UBEQik/vp02YoeX2vKl8oZEhbWCHjhBloQN0lFCOxw7M0IzXysOJfZHsZ0?= =?us-ascii?Q?1fPGn2VrQoPizYlZyHgFJE8HsOT6NqzjtNDQfccHGWKJg2wGGBJ+FokoqfvL?= =?us-ascii?Q?BvFKIeEetdU4bQRbZEtklS6C7vHzLwfKTnNV/BHDP3uUJfeE+CYFUyPuzoG9?= =?us-ascii?Q?gePZ1ZOIKY1CSdZZ5pTw6kSq7RZmjMdRjvAEpExLEA6dU2Gemh1DC1NU9n7y?= =?us-ascii?Q?H8PakhWfJTGK?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:5; SRV:; IPV:NLI; SFV:SPM; H:MWHPR10MB1407.namprd10.prod.outlook.com; PTR:; CAT:OSPM; SFS:(13230016)(366004)(346002)(39860400002)(376002)(136003)(396003)(66946007)(86362001)(8676002)(186003)(66476007)(66556008)(66574015)(4326008)(45080400002)(52116002)(6512007)(6486002)(1076003)(6666004)(41300700001)(107886003)(478600001)(574094003)(2616005)(6506007)(316002)(38100700002)(2906002)(36756003)(4000180100002)(83380400001)(30864003)(8936002)(5660300002)(103116003)(6916009)(327674002)(334514002); DIR:OUT; SFP:1501; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?P55sWuoPKbrQ9m548CwdOJ5F0UevxgYV3jjYP2BwMYBaTtp6Ikj+bjEdaCrI?= =?us-ascii?Q?TAdetg0IMNPhjjUCoevWNMcyn7oa8ITWCukJYebIJaxv6gwI0RV/tBkN96rO?= =?us-ascii?Q?Xf2HRhg9WJuNybjtAu9Z+L3dvui9tUE+BQ3zRpKDNdwAyCwllG7V42RdDioJ?= =?us-ascii?Q?+o+ZeBASlRiLBzoXIRjtWBhpuVKDAO0SWj32AkgROxvvl+RdXmQy50n7SVS9?= =?us-ascii?Q?RwHhyfaYJjigVwiipkj4pXlW13XpwhjumlX7RNM5v/lD0tRTfBVLxALwChiR?= =?us-ascii?Q?5+7VACk8aii0/ifkq75FVXOuO9vK76gpi47Kl96XgZ+JkQdMG+DHgBNmE1F5?= =?us-ascii?Q?m//Vjy9LT7IZZFc/lcMpl0cXkmHJWpWtvKvJ8hRBPXcgcUJA8meK9J3XTzfz?= =?us-ascii?Q?AJxIh7sIMqsoAz/nrIdidxYwM5DCEOo65OkgxKXLyWJPbEd8pc+C2sZuAuxT?= =?us-ascii?Q?PogfjuWpAu1wqr0eH0OS889UZByc4rhBU/g3lspZ6Isx8YCjvIj/TdAubzJx?= =?us-ascii?Q?kcUou8/dovWssdsR5P2pI1MvXOrJqpCTwC9v4Tfldw5AFKTSalIjIAmG0TUP?= =?us-ascii?Q?LkGDBeX9nQ+M8khDt0FjZv1+bk7vcFd0RT6oD129wqQnRhR7ctvgZ4/biMHW?= =?us-ascii?Q?yqrNnR85SElcIYDlzfH7sWeFwoSfMc+kGpGeLjbH+tQk84IhNLMEOEfnTEda?= =?us-ascii?Q?T9z1fOzjltDtC2Tm0/YOuK2ykvKXcKAWK/ajEsScZyrrmS1ySaPtcrKypnyh?= =?us-ascii?Q?UUAF4kr5PkdLQZaZILZxymP5ZXauOqDi7tugVotaeOLKUHmdjLCT+ulapAWD?= =?us-ascii?Q?r2OhhVlkLZfLM23ypDi9KMOs3AmL4Tnssu8d7LpHrP+puxViGt87eN54uguK?= =?us-ascii?Q?kRg+ZjYZG2zgVXGVOIJAswyCer1odz8L8y2EzBIKXiDYoTmGFFMo8cZAScD7?= =?us-ascii?Q?j4pTpKuaNYK/V+6mK9ri21xiuqo4bKCOt038owbDPytSzBgsGNZCiACp31j0?= =?us-ascii?Q?61F+jJzcMwJWhk7jrCaL0m+tphV8y8aupxmmlqAfY01YHaT5I+2OWZUg+OKu?= =?us-ascii?Q?GNifUOaJ8UZsNY/7+DQ54fRaJHkrq9SyTAvJiwoePvju0DCBjKNiP9ja0myC?= =?us-ascii?Q?/sdg+OLrzP8nA/OmsNudDcsKM0I7NYZiEihjxqNCpFgxccZ751nVxL9bJ8oI?= =?us-ascii?Q?gVlMoMng9MzmdBjRsbhYFhb3YKADJ9+9ouA9jqJgz8yDhsfMuSJIbkVLG4ng?= =?us-ascii?Q?wfNzNmDfQllv5DHlbnKdlcOug+VsvDKwj47X4AKBUKm/VbB+JM+LdKQIsnrx?= =?us-ascii?Q?pAuyjj9U55XWuqM93Al9rjbRHtVylikuddHOtEPdvA1cmFlGtxHOi7fGWmXX?= =?us-ascii?Q?S64qNnFNZnhA4KzGovtrLLKFm1XI/wo7dEO99b2JdfXFG4F6DbXxNNtbeea5?= =?us-ascii?Q?OYkBPslh8TNNgc5lxfjogCMnRrmZ0+Dcg4KknlNzgdAa2njxd6x74hguYyGg?= =?us-ascii?Q?dOtcv3wgfLM0J+41Bqqr8y26KxEd44MDRV0HLSZFGHWwmeQdqn47JzIZpDDF?= =?us-ascii?Q?dwnnuZvMJfOe+Sc5NMLVRr1e+wTY8TMYYRnRUejZofYuX++JEmP1lyNwgwP1?= =?us-ascii?Q?n37V8jPk2wYUDXLRH2BgqVEtVq79NEXzwsGiFIXcjVuBjps2tlTA4u76/z8G?= =?us-ascii?Q?A2wi2qDeXLzgFCP5p3y+TS3f6pc=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c77cc756-5158-4a98-74f1-08da60ee70f3 X-MS-Exchange-CrossTenant-AuthSource: MWHPR10MB1407.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2022 14:31:01.0757 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TJP3Lu+7IMxFD9wRcOcTVycqybjF/SNRRGOljYwhELk/O7nd0cYy8kkcDw0mvTVc3Yi0ICduBHOze+UIUQX5RfxQ2SIYL2kB17MjSOwlT0w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4534 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517, 18.0.883 definitions=2022-07-08_12:2022-07-08, 2022-07-08 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 bulkscore=0 malwarescore=0 impostorscore=0 classifier=parse_limit adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207080056 X-Proofpoint-GUID: IC3FrVIPxaE1b3Od7jEzitrEhSPpB3qI X-Proofpoint-ORIG-GUID: IC3FrVIPxaE1b3Od7jEzitrEhSPpB3qI X-Mailman-Approved-At: Mon, 11 Jul 2022 09:56:16 +0000 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-List-Received-Date: Fri, 08 Jul 2022 14:32:46 -0000 Hello, This patch is meant to execute the testsuite for abipkgdiff tool using sources with CTF debug info. Main changes from v2: - Add signed-of-by line Apologies for inconveniences, and forget this basic stuffs. Thanks, guillermo --- This patch is meant to execute the testsuite for abipkgdiff tool using sources with CTF debug info. * doc/manuals/abipkgdiff.rst: Document the fact that abipkgdiff now supports the CTF format. * tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt: New test input. * tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u0.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u6.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/dir.abignore: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/libobj-v0.so: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/obj-v0.c: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-0-dir2/libobj-v0.so: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-0-dir2/obj-v0.c: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-0-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-1-dir1/libobj-v0.so: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-1-dir1/obj-v0.c: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/dir.abignore: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/libobj-v0.so: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/obj-v0.c: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-1-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-1-report-1.txt: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-2-dir1/libobj-v0.so: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-2-dir1/obj-v0.c: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/.abignore: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/dir.abignore: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/libobj-v0.so: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/obj-v0.c: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-2-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3-dir1/libobj-v0.so: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3-dir1/obj-v0.c: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/.abignore: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/libobj-v0.so: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/obj-v0.c: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3-report-1.txt: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3-report-2.txt: Likewise. * tests/data/test-diff-pkg-ctf/dirpkg-3.suppr: Likewise. * tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-1.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-2.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-report-1.txt: Likewise. * tests/data/test-diff-pkg-ctf/gmp-6.1.2-8-ol8u0.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/gmp-6.2.0-10-ol9u0.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/isl-0.16.1-6.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/isl-0.16.1-7.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/isl-0.16.1-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/isl-debuginfo-0.16.1-6.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/isl-debuginfo-0.16.1-7.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/libdwarf-20180129-4-no-ctf.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/libdwarf-20180129-5-no-ctf.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/libdwarf-20180129-5.x86_64.rpm: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1-report0.txt: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/foo.o: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/libfoo.so: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.c: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.o: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/libfoo.so: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/foo.o: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/libfoo.so: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.c: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.o: Likewise. * tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/libfoo.so: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.ta: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar.bz2: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar.gz: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.ta: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar.bz2: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar.gz: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-0-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-1-dir1.tar.gz: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-1-dir2.tar.gz: Likewise. * tests/data/test-diff-pkg-ctf/tarpkg-1-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/test-rpm-report-0.txt: Likewise. * tests/data/test-diff-pkg-ctf/test-rpm-report-1.txt: Likewise. * tests/data/test-diff-pkg-ctf/test-rpm-report-2.txt: Likewise. * tests/data/test-diff-pkg-ctf/test-rpm-report-3.txt: Likewise. * tests/data/test-diff-pkg-ctf/test-rpm-report-4.txt: Likewise. * tests/data/test-diff-pkg-ctf/test-rpm-report-5.txt: Likewise. * tests/data/Makefile.am: Add the test material above to source distribution. * tests/test-diff-pkg.cc (in_out_spec): Add the test inputs above to this harness. Signed-off-by: Guillermo E. Martinez --- doc/manuals/abipkgdiff.rst | 9 +- tests/data/Makefile.am | 77 +++++ .../cracklib-2.9.6-15-ol8.x86_64-report-0.txt | 10 + .../cracklib-2.9.6-15-ol8u0.x86_64.rpm | Bin 0 -> 100854 bytes .../cracklib-2.9.6-15-ol8u6.x86_64.rpm | Bin 0 -> 100854 bytes .../dirpkg-0-dir1/dir.abignore | 4 + .../dirpkg-0-dir1/libobj-v0.so | Bin 0 -> 15520 bytes .../test-diff-pkg-ctf/dirpkg-0-dir1/obj-v0.c | 11 + .../dirpkg-0-dir2/libobj-v0.so | Bin 0 -> 15560 bytes .../test-diff-pkg-ctf/dirpkg-0-dir2/obj-v0.c | 12 + .../test-diff-pkg-ctf/dirpkg-0-report-0.txt | 0 .../dirpkg-1-dir1/libobj-v0.so | Bin 0 -> 15520 bytes .../test-diff-pkg-ctf/dirpkg-1-dir1/obj-v0.c | 11 + .../dirpkg-1-dir2/dir.abignore | 4 + .../dirpkg-1-dir2/libobj-v0.so | Bin 0 -> 15560 bytes .../test-diff-pkg-ctf/dirpkg-1-dir2/obj-v0.c | 12 + .../test-diff-pkg-ctf/dirpkg-1-report-0.txt | 0 .../test-diff-pkg-ctf/dirpkg-1-report-1.txt | 15 + .../dirpkg-2-dir1/libobj-v0.so | Bin 0 -> 15600 bytes .../test-diff-pkg-ctf/dirpkg-2-dir1/obj-v0.c | 19 ++ .../test-diff-pkg-ctf/dirpkg-2-dir2/.abignore | 2 + .../dirpkg-2-dir2/dir.abignore | 2 + .../dirpkg-2-dir2/libobj-v0.so | Bin 0 -> 15656 bytes .../test-diff-pkg-ctf/dirpkg-2-dir2/obj-v0.c | 21 ++ .../test-diff-pkg-ctf/dirpkg-2-report-0.txt | 0 .../dirpkg-3-dir1/libobj-v0.so | Bin 0 -> 15600 bytes .../test-diff-pkg-ctf/dirpkg-3-dir1/obj-v0.c | 19 ++ .../test-diff-pkg-ctf/dirpkg-3-dir2/.abignore | 2 + .../dirpkg-3-dir2/libobj-v0.so | Bin 0 -> 15656 bytes .../test-diff-pkg-ctf/dirpkg-3-dir2/obj-v0.c | 21 ++ .../test-diff-pkg-ctf/dirpkg-3-report-0.txt | 0 .../test-diff-pkg-ctf/dirpkg-3-report-1.txt | 16 + .../test-diff-pkg-ctf/dirpkg-3-report-2.txt | 0 tests/data/test-diff-pkg-ctf/dirpkg-3.suppr | 2 + .../elfutils-libelf-0.186-1.x86_64.rpm | Bin 0 -> 384365 bytes .../elfutils-libelf-0.186-2.x86_64.rpm | Bin 0 -> 384437 bytes .../elfutils-libelf-0.186-report-0.txt | 0 .../elfutils-libelf-0.186-report-1.txt | 10 + .../gmp-6.1.2-8-ol8u0.x86_64.rpm | Bin 0 -> 349632 bytes .../gmp-6.2.0-10-ol9u0.x86_64.rpm | Bin 0 -> 370863 bytes .../gmp-6.x.x86_64-report-0.txt | 176 ++++++++++ .../test-diff-pkg-ctf/isl-0.16.1-6.x86_64.rpm | Bin 0 -> 1183693 bytes .../test-diff-pkg-ctf/isl-0.16.1-7.x86_64.rpm | Bin 0 -> 1183717 bytes .../test-diff-pkg-ctf/isl-0.16.1-report-0.txt | 10 + .../isl-debuginfo-0.16.1-6.x86_64.rpm | Bin 0 -> 252918 bytes .../isl-debuginfo-0.16.1-7.x86_64.rpm | Bin 0 -> 252929 bytes .../libdwarf-20180129-4-no-ctf.x86_64.rpm | Bin 0 -> 218575 bytes .../libdwarf-20180129-4.x86_64.rpm | Bin 0 -> 233283 bytes .../libdwarf-20180129-5-no-ctf.x86_64.rpm | Bin 0 -> 218627 bytes .../libdwarf-20180129-5.x86_64.rpm | Bin 0 -> 233330 bytes .../symlink-dir-test1-report0.txt | 15 + .../symlink-dir-test1/dir1/symlinks/foo.o | 1 + .../symlink-dir-test1/dir1/symlinks/libfoo.so | 1 + .../symlink-dir-test1/dir1/targets/foo.c | 10 + .../symlink-dir-test1/dir1/targets/foo.o | Bin 0 -> 3248 bytes .../symlink-dir-test1/dir1/targets/libfoo.so | Bin 0 -> 16552 bytes .../symlink-dir-test1/dir2/symlinks/foo.o | 1 + .../symlink-dir-test1/dir2/symlinks/libfoo.so | 1 + .../symlink-dir-test1/dir2/targets/foo.c | 11 + .../symlink-dir-test1/dir2/targets/foo.o | Bin 0 -> 3328 bytes .../symlink-dir-test1/dir2/targets/libfoo.so | Bin 0 -> 16616 bytes tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.ta | Bin 0 -> 20480 bytes .../data/test-diff-pkg-ctf/tarpkg-0-dir1.tar | Bin 0 -> 20480 bytes .../test-diff-pkg-ctf/tarpkg-0-dir1.tar.bz2 | Bin 0 -> 2194 bytes .../test-diff-pkg-ctf/tarpkg-0-dir1.tar.gz | Bin 0 -> 2151 bytes tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.ta | Bin 0 -> 20480 bytes .../data/test-diff-pkg-ctf/tarpkg-0-dir2.tar | Bin 0 -> 20480 bytes .../test-diff-pkg-ctf/tarpkg-0-dir2.tar.bz2 | Bin 0 -> 2226 bytes .../test-diff-pkg-ctf/tarpkg-0-dir2.tar.gz | Bin 0 -> 2180 bytes .../test-diff-pkg-ctf/tarpkg-0-report-0.txt | 15 + .../test-diff-pkg-ctf/tarpkg-1-dir1.tar.gz | Bin 0 -> 2139 bytes .../test-diff-pkg-ctf/tarpkg-1-dir2.tar.gz | Bin 0 -> 2283 bytes .../test-diff-pkg-ctf/tarpkg-1-report-0.txt | 0 .../test-diff-pkg-ctf/test-rpm-report-0.txt | 10 + .../test-diff-pkg-ctf/test-rpm-report-1.txt | 12 + .../test-diff-pkg-ctf/test-rpm-report-2.txt | 12 + .../test-diff-pkg-ctf/test-rpm-report-3.txt | 12 + .../test-diff-pkg-ctf/test-rpm-report-4.txt | 0 .../test-diff-pkg-ctf/test-rpm-report-5.txt | 0 tests/test-diff-pkg.cc | 321 ++++++++++++++++++ 80 files changed, 885 insertions(+), 2 deletions(-) create mode 100644 tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u0.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u6.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/dir.abignore create mode 100755 tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/libobj-v0.so create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/obj-v0.c create mode 100755 tests/data/test-diff-pkg-ctf/dirpkg-0-dir2/libobj-v0.so create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-0-dir2/obj-v0.c create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-0-report-0.txt create mode 100755 tests/data/test-diff-pkg-ctf/dirpkg-1-dir1/libobj-v0.so create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-1-dir1/obj-v0.c create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/dir.abignore create mode 100755 tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/libobj-v0.so create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/obj-v0.c create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-1-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-1-report-1.txt create mode 100755 tests/data/test-diff-pkg-ctf/dirpkg-2-dir1/libobj-v0.so create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-2-dir1/obj-v0.c create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/.abignore create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/dir.abignore create mode 100755 tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/libobj-v0.so create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/obj-v0.c create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-2-report-0.txt create mode 100755 tests/data/test-diff-pkg-ctf/dirpkg-3-dir1/libobj-v0.so create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-3-dir1/obj-v0.c create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/.abignore create mode 100755 tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/libobj-v0.so create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/obj-v0.c create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-3-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-3-report-1.txt create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-3-report-2.txt create mode 100644 tests/data/test-diff-pkg-ctf/dirpkg-3.suppr create mode 100644 tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-1.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-2.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-report-1.txt create mode 100644 tests/data/test-diff-pkg-ctf/gmp-6.1.2-8-ol8u0.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/gmp-6.2.0-10-ol9u0.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/isl-0.16.1-6.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/isl-0.16.1-7.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/isl-0.16.1-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/isl-debuginfo-0.16.1-6.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/isl-debuginfo-0.16.1-7.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/libdwarf-20180129-4-no-ctf.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/libdwarf-20180129-5-no-ctf.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/libdwarf-20180129-5.x86_64.rpm create mode 100644 tests/data/test-diff-pkg-ctf/symlink-dir-test1-report0.txt create mode 120000 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/foo.o create mode 120000 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/libfoo.so create mode 100644 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.c create mode 100644 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.o create mode 100755 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/libfoo.so create mode 120000 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/foo.o create mode 120000 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/libfoo.so create mode 100644 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.c create mode 100644 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.o create mode 100755 tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/libfoo.so create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.ta create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar.bz2 create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar.gz create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.ta create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar.bz2 create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar.gz create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-0-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-1-dir1.tar.gz create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-1-dir2.tar.gz create mode 100644 tests/data/test-diff-pkg-ctf/tarpkg-1-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/test-rpm-report-0.txt create mode 100644 tests/data/test-diff-pkg-ctf/test-rpm-report-1.txt create mode 100644 tests/data/test-diff-pkg-ctf/test-rpm-report-2.txt create mode 100644 tests/data/test-diff-pkg-ctf/test-rpm-report-3.txt create mode 100644 tests/data/test-diff-pkg-ctf/test-rpm-report-4.txt create mode 100644 tests/data/test-diff-pkg-ctf/test-rpm-report-5.txt diff --git a/doc/manuals/abipkgdiff.rst b/doc/manuals/abipkgdiff.rst index f297c9a8..15ea9072 100644 --- a/doc/manuals/abipkgdiff.rst +++ b/doc/manuals/abipkgdiff.rst @@ -13,7 +13,11 @@ binaries. For a comprehensive ABI change report that includes changes about function and variable sub-types, the two input packages must be accompanied with their debug information packages that contain debug -information in `DWARF`_ format. +information either in `DWARF`_ or in `CTF` formats. Please note +however that some packages contain binaries that embed the debug +information directly in a section of said binaries. In those cases, +obviously, no separate debug information package is needed as the tool +will find the debug information inside the binaries. .. _abipkgdiff_invocation_label: @@ -470,7 +474,8 @@ Options * ``--ctf`` - This is used to compare packages with CTF debug information, if present. + This is used to compare packages with CTF debug information, if + present. .. _abipkgdiff_return_value_label: diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 3a7f6f67..c7875b01 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -2012,6 +2012,83 @@ test-diff-pkg/wireshark/wireshark-cli-3.4.9-1.fc36.x86_64-self-check-report.txt test-diff-pkg/wireshark/wireshark-cli-3.4.9-1.fc36.x86_64.rpm \ test-diff-pkg/wireshark/wireshark-cli-debuginfo-3.4.9-1.fc36.x86_64.rpm \ test-diff-pkg/wireshark/wireshark-debuginfo-3.4.9-1.fc36.x86_64.rpm \ +test-diff-pkg-ctf/tarpkg-0-dir1.tar \ +test-diff-pkg-ctf/dirpkg-0-report-0.txt \ +test-diff-pkg-ctf/isl-debuginfo-0.16.1-7.x86_64.rpm \ +test-diff-pkg-ctf/tarpkg-1-report-0.txt \ +test-diff-pkg-ctf/elfutils-libelf-0.186-1.x86_64.rpm \ +test-diff-pkg-ctf/tarpkg-0-dir2.ta \ +test-diff-pkg-ctf/elfutils-libelf-0.186-report-0.txt \ +test-diff-pkg-ctf/gmp-6.2.0-10-ol9u0.x86_64.rpm \ +test-diff-pkg-ctf/dirpkg-3-dir1/obj-v0.c \ +test-diff-pkg-ctf/dirpkg-3-dir1/libobj-v0.so \ +test-diff-pkg-ctf/isl-0.16.1-report-0.txt \ +test-diff-pkg-ctf/tarpkg-0-dir2.tar.gz \ +test-diff-pkg-ctf/test-rpm-report-2.txt \ +test-diff-pkg-ctf/dirpkg-3-report-2.txt \ +test-diff-pkg-ctf/libdwarf-20180129-5.x86_64.rpm \ +test-diff-pkg-ctf/test-rpm-report-3.txt \ +test-diff-pkg-ctf/test-rpm-report-1.txt \ +test-diff-pkg-ctf/tarpkg-0-report-0.txt \ +test-diff-pkg-ctf/libdwarf-20180129-4-no-ctf.x86_64.rpm \ +test-diff-pkg-ctf/tarpkg-0-dir1.tar.gz \ +test-diff-pkg-ctf/dirpkg-2-report-0.txt \ +test-diff-pkg-ctf/dirpkg-1-report-1.txt \ +test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt \ +test-diff-pkg-ctf/dirpkg-1-report-0.txt \ +test-diff-pkg-ctf/elfutils-libelf-0.186-2.x86_64.rpm \ +test-diff-pkg-ctf/elfutils-libelf-0.186-report-1.txt \ +test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt \ +test-diff-pkg-ctf/dirpkg-0-dir2/obj-v0.c \ +test-diff-pkg-ctf/dirpkg-0-dir2/libobj-v0.so \ +test-diff-pkg-ctf/test-rpm-report-5.txt \ +test-diff-pkg-ctf/tarpkg-1-dir2.tar.gz \ +test-diff-pkg-ctf/libdwarf-20180129-5-no-ctf.x86_64.rpm \ +test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm \ +test-diff-pkg-ctf/test-rpm-report-0.txt \ +test-diff-pkg-ctf/tarpkg-0-dir2.tar \ +test-diff-pkg-ctf/isl-0.16.1-6.x86_64.rpm \ +test-diff-pkg-ctf/dirpkg-1-dir2/dir.abignore \ +test-diff-pkg-ctf/dirpkg-1-dir2/obj-v0.c \ +test-diff-pkg-ctf/dirpkg-1-dir2/libobj-v0.so \ +test-diff-pkg-ctf/dirpkg-3-dir2/obj-v0.c \ +test-diff-pkg-ctf/dirpkg-3-dir2/.abignore \ +test-diff-pkg-ctf/dirpkg-3-dir2/libobj-v0.so \ +test-diff-pkg-ctf/test-rpm-report-4.txt \ +test-diff-pkg-ctf/dirpkg-2-dir1/obj-v0.c \ +test-diff-pkg-ctf/dirpkg-2-dir1/libobj-v0.so \ +test-diff-pkg-ctf/dirpkg-3-report-1.txt \ +test-diff-pkg-ctf/tarpkg-0-dir2.tar.bz2 \ +test-diff-pkg-ctf/gmp-6.1.2-8-ol8u0.x86_64.rpm \ +test-diff-pkg-ctf/dirpkg-2-dir2/dir.abignore \ +test-diff-pkg-ctf/dirpkg-2-dir2/obj-v0.c \ +test-diff-pkg-ctf/dirpkg-2-dir2/.abignore \ +test-diff-pkg-ctf/dirpkg-2-dir2/libobj-v0.so \ +test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u6.x86_64.rpm \ +test-diff-pkg-ctf/isl-0.16.1-7.x86_64.rpm \ +test-diff-pkg-ctf/tarpkg-0-dir1.ta \ +test-diff-pkg-ctf/dirpkg-3.suppr \ +test-diff-pkg-ctf/dirpkg-1-dir1/obj-v0.c \ +test-diff-pkg-ctf/dirpkg-1-dir1/libobj-v0.so \ +test-diff-pkg-ctf/tarpkg-0-dir1.tar.bz2 \ +test-diff-pkg-ctf/dirpkg-3-report-0.txt \ +test-diff-pkg-ctf/dirpkg-0-dir1/dir.abignore \ +test-diff-pkg-ctf/dirpkg-0-dir1/obj-v0.c \ +test-diff-pkg-ctf/dirpkg-0-dir1/libobj-v0.so \ +test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/libfoo.so \ +test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.c \ +test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.o \ +test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/libfoo.so \ +test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/foo.o \ +test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/libfoo.so \ +test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.c \ +test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.o \ +test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/libfoo.so \ +test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/foo.o \ +test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u0.x86_64.rpm \ +test-diff-pkg-ctf/isl-debuginfo-0.16.1-6.x86_64.rpm \ +test-diff-pkg-ctf/tarpkg-1-dir1.tar.gz \ +test-diff-pkg-ctf/symlink-dir-test1-report0.txt \ \ test-fedabipkgdiff/dbus-glib-0.104-3.fc23.x86_64.rpm \ test-fedabipkgdiff/dbus-glib-debuginfo-0.104-3.fc23.x86_64.rpm \ diff --git a/tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt b/tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt new file mode 100644 index 00000000..2113a646 --- /dev/null +++ b/tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt @@ -0,0 +1,10 @@ +================ changes of 'libcrack.so.2.9.0'=============== + Functions changes summary: 1 Removed, 0 Changed, 0 Added function + Variables changes summary: 0 Removed, 0 Changed, 0 Added variable + + 1 Removed function: + + [D] 'function char* LowercaseWrapper(char*, char*)' {LowercaseWrapper} + +================ end of changes of 'libcrack.so.2.9.0'=============== + diff --git a/tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u0.x86_64.rpm b/tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u0.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..95a19aaca342bcb4989ce55ddc954e5ed30adeec GIT binary patch literal 100854 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