diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 280c3441a0..21c3694bc5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +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. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 2aa474e598..9dfc117b2f 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 0000000000..21b506a3a0 --- /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); +}