From c3d7b541fa920e6ecb0f06ffe1e0e3f070fa295d Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Sat, 16 Sep 2017 14:16:27 +0200 Subject: [PATCH] Add unit test for xml_escape_text 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/ChangeLog | 6 +++++ gdb/Makefile.in | 6 +++-- gdb/unittests/xml-utils-selftests.c | 46 +++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 gdb/unittests/xml-utils-selftests.c diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 280c344..21c3694 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2017-09-16 Simon Marchi + * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file. + (SUBDIR_UNITTESTS_OBS): Add new object file. + * unittests/xml-utils-selftests.c: New file. + +2017-09-16 Simon Marchi + * common/selftest.h (selftest): New struct/interface. (register_test): Add name parameter, add new overload. (run_tests): Add filter parameter. 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..21b506a --- /dev/null +++ b/gdb/unittests/xml-utils-selftests.c @@ -0,0 +1,46 @@ +/* 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 ("xml_escape_text", + selftests::xml_utils::test_xml_escape_text); +} -- 2.7.4