From patchwork Tue Sep 12 11:00:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 22838 Received: (qmail 16305 invoked by alias); 12 Sep 2017 11:01:10 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 16233 invoked by uid 89); 12 Sep 2017 11:01:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy=5327 X-HELO: sesbmg22.ericsson.net Received: from sesbmg22.ericsson.net (HELO sesbmg22.ericsson.net) (193.180.251.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 12 Sep 2017 11:01:01 +0000 Received: from ESESSHC001.ericsson.se (Unknown_Domain [153.88.183.21]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id 41.31.22679.A6EB7B95; Tue, 12 Sep 2017 13:00:58 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.21) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 12 Sep 2017 13:00:58 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.ki.sw.ericsson.se (192.176.1.81) by AMSPR07MB312.eurprd07.prod.outlook.com (2a01:111:e400:802f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.4; Tue, 12 Sep 2017 11:00:57 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 1/3] Add unit test for xml_escape_text Date: Tue, 12 Sep 2017 13:00:46 +0200 Message-ID: <1505214048-13445-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: AM3PR07CA0129.eurprd07.prod.outlook.com (2603:10a6:207:8::15) To AMSPR07MB312.eurprd07.prod.outlook.com (2a01:111:e400:802f::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9739c2af-12d1-4794-4fcf-08d4f9cd8ba9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AMSPR07MB312; X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB312; 3:oJn+s1yGX498MIHgbkbfnt6q5uWXldl9OcF4FirozYlicpc+JOMtiXU8UBjx/25wsIsltV5L1vcHS2ADZ9xnEsVwxu5LETRtqk5tvDD04pb1Le73p1WkUPMX7DEdNI9K0XSbIKfdxJGoqisTEgkDXMUz+nSI2AdllkCYIwpAyXWkYO7EeWQas75GrHCfdu7h0QWn1QZe9NniCbwmUUEHufzacatv6yZJIGVnQIvp/d3yrtN0Be0r3ELe2kI5EvOD; 25:NSYor7J7693CVdIDJxXFLpBXfyZ+f0Gr3SiikIhCIIEIhGz5kmpyHksfKUqH8tqdPsil3ph8PL5MnBpq8zBx7zncG66CCfRvFb1LmYVmlbzl+UIa8vXovDpDRpyXsifJ/RwCuW2dH6wXaF2EDarIvpUbHqCodEZSopjeST8tVSqP/abba/UtKdsxDOJj156YinPLRzVy9HC7CdYZIenFZ4xEszGRw+T6/mwPwd1XPnscSbMnPvvzwYR9IPVyi6IBK/YmmhJe3+h46cZ6TyRyg1QpL7T6UXnYefo6Lr9tV+3efpokDrtDdl4UlqAslGzhUiQRh0MucyNOeM5ls//A4I/SFFBESw/lQ87Mr+pyMFI=; 31:OwDH3/5uLLhWA11lpYOKaHwqMEkvAs0pzcnBo0bswOzjgsvFpRtSwlZZEqy41wf52r6kFDo1B8DlqpMugnx4GOqwC2829egIs66o2z41U2q5U3TyJE84onlXjD+RgMMcjbVAZFxTJPa3DuF8VTv521kZZtOnqY+WGx6KXCYXNWSHCA7bAj+kVtNzMGzYBNPuLbxVGz/mwbkQlURVu7tC8rSzxQ4tIyX/SeylsbY9zU0= X-MS-TrafficTypeDiagnostic: AMSPR07MB312: X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB312; 20:mhYf7or/KASYFmpKXy9x2FSdS1PjUHDCbtzqD7fqwAp2mpK9JoS5k6KoGfzQdC+9qCqk+DqxnwIk05r8drf3w3tSI397wpJwam1iDkl+TpX7kiYT3pMf8t++vkhqskASaLu8iuiHhoHOs1brkfYbFQuPfpiflq7878Wvtd0KMXjWYpc+TcSf78ebrg6RE8v2NWDS8sgd5Ojg6I+w2OVfiKwA6X5FeDHTEn+1MHatJ0M0SDkPmFEaoXRhAEhnfFn9hO3JNl4bm/BQ6rGaaSR+mv9tz8SIdV+RuKkfInYGUZYxeGIL+XFkvMQ4IsZ4OeDdYbThRKOCWA1zRHPkJU5fzAy7yoIrre89wYtdJO/HuuWODomo5im+0/SJK9t1+UDUgtYzKhtGRrjehCx4VmtRe5qVqVzjGRA/E4nwXiHkIaPO8pJadhyWJowSfZZ2yyzvFV0SU3iZzcWTyK2X1IzSOvtQXj58HPruDHtrRWJe/X712b3NtQqUnPgt4LHqaVvK; 4:DkOPPqoUj10m+IlJw07y/KsK8JteCEEMtOC0DQuyIzYYz3TAHEOQucd8jLk2NAEPLJ3mPx3UTTj71Pem1RoJRcrY72bQD1fz25Vaha53U0OGxsKlk+7YLi8ELscPXBwGOjtLhYsdOx1tVoITPGrlnquhptD9VRU1IQFYUhlQDQK3BBhhJ9wHVjpCKZbHV7yuiokOuMK1rc4AnsM5ogWYqK3x0mZ46lWm1jvve626iYpLLeaV2gCqd6O3DgH6SPZtfFqJ83wKBmCtJrUdSkMDE0tYo4ML+7lmWfM+J/fHG4wCqreFpUCx8layBRx5FnilfslwPEAtJWr746MVnneAeA== X-Exchange-Antispam-Report-Test: UriScan:(250305191791016)(22074186197030); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(20161123562025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AMSPR07MB312; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AMSPR07MB312; X-Forefront-PRVS: 042857DBB5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(39860400002)(199003)(189002)(54534003)(53936002)(478600001)(68736007)(6506006)(7350300001)(6666003)(6512007)(6306002)(6916009)(97736004)(7736002)(50986999)(81156014)(8676002)(316002)(50466002)(305945005)(81166006)(86362001)(48376002)(6486002)(50226002)(2351001)(106356001)(105586002)(5003940100001)(2361001)(3846002)(189998001)(2906002)(25786009)(6116002)(101416001)(4326008)(36756003)(5660300001)(66066001)(42186005)(33646002)(107886003)(110136004)(47776003)(2004002); DIR:OUT; SFP:1101; SCL:1; SRVR:AMSPR07MB312; H:elxacz23q12.ki.sw.ericsson.se; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AMSPR07MB312; 23:S6XZs7tO2cj0uT4aiScFFvTj0UFgVIXp4L7s47O1D/?= =?us-ascii?Q?kbWc5ycXJ3cyJcxdqO9PFv8j6DH5J3rMnBHHqAkO66d9yQxuHaMg5sfA9MQ5?= =?us-ascii?Q?oHLI2IFfX1XOJ1AuEEnuIL2T4MyDk6EdF07FYY8u2iKhnFTDFHwO1ytCAKcJ?= =?us-ascii?Q?PS2Ymt2WQ90golkXLkC+IhqrP/MXDeaGkKNX5AHrr2b9DhzxwvQHrtCUQ2vE?= =?us-ascii?Q?LLC3vIkVvGIPFHkRIxFGbYs55b9PbKBbFprlQEfm4PDf7j1QJWKOPxsGNnsX?= =?us-ascii?Q?FE4wuJBQcVPed/zZIaGXel6ZTSh3wC6kdjjxVvjt1ohpBfm+r4FxlzFpuByI?= =?us-ascii?Q?OE/pKZT1nNXmkfFIzRfiiu+y3PzjMVh3CNq4RIs7HyTonkLdujMY+P9noyZH?= =?us-ascii?Q?hBFfDusus+aU9lD4pnnRzb/3B5c7mEkR6LHQLAccY8Pgvs9cAja36ttBtEUb?= =?us-ascii?Q?j+dKwacnSmANpdhMm9/aOuuzkx9k+4V9BeBvrq5mqHzSccxC9FQBqMHz26SC?= =?us-ascii?Q?qwP8cKS1tbH+EQ2/IJSx9I4PDSX+bTWJKnsYSgsbiQIf9LRQLhNewrmbuzDt?= =?us-ascii?Q?8t5rxvT4YAdenQk5+jtKm4yewEaGw5LmCx5F/NQVDNGEa05KftmPxep595Lo?= =?us-ascii?Q?QrtMsEF9wn4s6UJz7AnQa0Ui2+rIuVi4Mk+50G213qbQUd/IOQRT5d8fSLJm?= =?us-ascii?Q?V6MBA4jaMBoMDTvwOXlp5pwOA5vV/doT4dUEMC8bhVhH9OHnE0ohuFrw+IlO?= =?us-ascii?Q?uqRBzZ9mXW2rZtUNuJEfHszDenPn9hEP0fT/uknbw8IlURS3YUm/x7exHqq6?= =?us-ascii?Q?y7vjwg5N05P1har6xMqTqWPw0hekCb9FxKtWdAmT0iE9e6xc4Ck/pG9JDdPN?= =?us-ascii?Q?QdSMzuVS9vd2nbBqRwCwzAx0oLlF+1xVPW4Qet9WVqfppdEIBVR0OBK0IHtG?= =?us-ascii?Q?CL+10qQd48Z5Sa3RKTEr+NccnGAi31/7j6LTcB94giCardpoumzG4cILhttU?= =?us-ascii?Q?4vLxhF3NF6vQBgkvCqhfcDWFTJbbx+TrgqJU/1Fm/ZUP9r8sE3GK3sx1QVuZ?= =?us-ascii?Q?ng5NBEOHlDfauF682p9vK6ydeBu/rkFmavXflnm1UmQfd1u6TShfY0Ge919r?= =?us-ascii?Q?Lito+4KVsZRhK0OlnPgIpYyQ+pRUXPuADhXMBn2rE+5YBT8gq/K4K736uv8K?= =?us-ascii?Q?47sgNffY6CGVfVcBwl6m4CInZYSn1iRRXO?= X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB312; 6:dr4EV2z4uCmQfz12ZIrXqMzVz0IYSDgnCxqwoVbnZgUOdRkP4B19b/7GChFngxOz1yLiCR79etD0nWDV+uwW9u+gRjyQ5MZz5cRky/CPla2CDZ0MaA3kHs2ia1X3vw8dzAxE5PYohbL1m4tNJDtnMAi1iWv9sCm2l8Nzh1oVfVOFvy3wPS7KX8WUsQbLaBhaxgZ3+VBu4boRfC1OIvDPV7ObjfTab/FesIZNQ9ADFZ7NXnQMHdIA2xbtzNHA/mwA7nK8V/PbuUgvOk98Y/Y1sM4No++tGKa/YRaoOZZSldfxiNCOlhEM4gm8fdwayuUtS8H8Wegc//EejMjLaOoldw==; 5:AxVAKKqOvgAn4n1BiKKwStp/xjqxmZhS6C5AHSIBbUr3bEptNc/6hqsxB3fU+D3teK3z3wmgGy5ZpiveRojbLeHAWk56DDVdhBpqlclgqq+XhSpnKkETirA0Ky/AzQAZO1YqpS8NhMcvE9f1SLVWWQ==; 24:/UxUCfdCPIQuyS2ZZOzZmaUblADuzPP851oB29HF70q1PREHgirRcBPi8OYKKufSPoR7MVA8AGPSM3sKJ/FU7jFwIGjrwTFsz2X7K1RkIM8=; 7:sOzx5XoTbkN8EegMlXa8aauMs8voC+0KZt8JbsS9v5CVaWk8kRBLjjrOC24X/rFXsRv/1aGCfjNQxmnwvc26sfmlHugCLEqJDY7Cgo9Ph7FKquZN3eUrmHPhZ28E5jlKb8cnarK/8ipYYuPDOZh3G0+tQK/IRNsVhJRYDBrYFy0DfYyGzt9g/EMiC7Pa51//Z5qcySj6dYIP8cjGbbQNyCML7U10ejjEngNNDBUsQIE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2017 11:00:57.1417 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB312 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes The following patch modifies xml_escape_text, so I took the opportunity to write a unit test for it. gdb/ChangeLog: * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file. (SUBDIR_UNITTESTS_OBS): Add new object file. * unittests/xml-utils-selftests.c: New file. --- gdb/Makefile.in | 6 +++-- gdb/unittests/xml-utils-selftests.c | 45 +++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 gdb/unittests/xml-utils-selftests.c diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 2aa474e..9dfc117 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -532,7 +532,8 @@ SUBDIR_UNITTESTS_SRCS = \ unittests/offset-type-selftests.c \ unittests/optional-selftests.c \ unittests/ptid-selftests.c \ - unittests/scoped_restore-selftests.c + unittests/scoped_restore-selftests.c \ + unittests/xml-utils-selftests.c SUBDIR_UNITTESTS_OBS = \ array-view-selftests.o \ @@ -541,7 +542,8 @@ SUBDIR_UNITTESTS_OBS = \ offset-type-selftests.o \ optional-selftests.o \ ptid-selftests.o \ - scoped_restore-selftests.o + scoped_restore-selftests.o \ + xml-utils-selftests.o # Opcodes currently live in one of two places. Either they are in the # opcode library, typically ../opcodes, or they are in a header file diff --git a/gdb/unittests/xml-utils-selftests.c b/gdb/unittests/xml-utils-selftests.c new file mode 100644 index 0000000..14cc853 --- /dev/null +++ b/gdb/unittests/xml-utils-selftests.c @@ -0,0 +1,45 @@ +/* Unit tests for the xml-utils.c file. + + Copyright (C) 2017 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "defs.h" +#include "xml-utils.h" +#include "selftest.h" + +namespace selftests { +namespace xml_utils { + +static void test_xml_escape_text () +{ + const char *input = " &"; + const char *expected_output = "<this isn't="xml"> &"; + char *actual_output = xml_escape_text (input); + + SELF_CHECK (strcmp (actual_output, expected_output) == 0); + + xfree (actual_output); +} + +} +} + +void +_initialize_xml_utils () +{ + selftests::register_test (selftests::xml_utils::test_xml_escape_text); +}