office-gobmx/sal/CppunitTest_sal_rtl.mk
Stephan Bergmann ca832495ac A string_view is not necessarily NUL-terminated
Regression introduced into LIBO_INTERNAL_ONLY code with
1da6908173 "add string_view variants of methods to
O[U]StringBuffer".

And add some tests.  Assigning an OStringChar to an OStringBuffer also uses the
std::string_view assignment operator, so also test that with testOStringChar,
even though there it is relatively likely that the OStringChar temporary is
followed by null bytes, which could make the test happen to erroneously succeed.
But at least tools like ASan or Valgrind could catch that.  On the other hand,
assigning an OUStringChar to an OUStringBuffer does not use the
std::u16string_view assignment operator (and rather uses a
ConstCharArrayDetector-based one, which was similarly broken and has been fixed
in b66387574e "Fix -Werror=array-bounds"), so
there's no test for that here.

Change-Id: I7cf10ee5ce0e4280a91d116cd82d4871a0f44af6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132363
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-03-31 18:52:48 +02:00

75 lines
2.6 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_CppunitTest_CppunitTest,sal_rtl))
$(eval $(call gb_CppunitTest_add_exception_objects,sal_rtl,\
sal/qa/ByteSequence/ByteSequence \
sal/qa/OStringBuffer/rtl_OStringBuffer \
sal/qa/rtl/alloc/rtl_alloc \
sal/qa/rtl/bootstrap/expand \
sal/qa/rtl/cipher/rtl_cipher \
sal/qa/rtl/crc32/rtl_crc32 \
sal/qa/rtl/digest/rtl_digest \
sal/qa/rtl/doublelock/rtl_doublelocking \
sal/qa/rtl/locale/rtl_locale \
sal/qa/rtl/math/test-rtl-math \
sal/qa/rtl/ostring/rtl_str \
sal/qa/rtl/oustring/rtl_ustr \
sal/qa/rtl/oustringbuffer/test_oustringbuffer_appendchar \
sal/qa/rtl/oustringbuffer/test_oustringbuffer_appenduninitialized \
sal/qa/rtl/oustringbuffer/test_oustringbuffer_assign \
sal/qa/rtl/oustringbuffer/test_oustringbuffer_tostring \
sal/qa/rtl/oustringbuffer/test_oustringbuffer_utf32 \
sal/qa/rtl/oustring/rtl_OUString2 \
sal/qa/rtl/process/rtl_Process \
sal/qa/rtl/random/rtl_random \
sal/qa/rtl/ref/rtl_ref \
sal/qa/rtl/strings/nonconstarray \
sal/qa/rtl/strings/test_strings_replace \
sal/qa/rtl/strings/test_strings_defaultstringview \
sal/qa/rtl/strings/test_ostring \
sal/qa/rtl/strings/test_ostring_concat \
sal/qa/rtl/strings/test_ostring_stringliterals \
sal/qa/rtl/strings/test_ostringbuffer \
sal/qa/rtl/strings/test_oustring_compare \
sal/qa/rtl/strings/test_oustring_concat \
sal/qa/rtl/strings/test_oustring_convert \
sal/qa/rtl/strings/test_oustring_endswith \
sal/qa/rtl/strings/test_oustring_startswith \
sal/qa/rtl/strings/test_oustring_stringliterals \
sal/qa/rtl/strings/test_strings_toint \
sal/qa/rtl/strings/test_strings_valuex \
sal/qa/rtl/textenc/rtl_tencinfo \
sal/qa/rtl/textenc/rtl_textcvt \
sal/qa/rtl/uri/rtl_Uri \
sal/qa/rtl/uri/rtl_testuri \
sal/qa/rtl/uuid/rtl_Uuid \
))
$(eval $(call gb_CppunitTest_use_libraries,sal_rtl,\
sal \
))
$(eval $(call gb_CppunitTest_set_include,sal_rtl,\
-I$(SRCDIR)/sal/qa/inc \
$$(INCLUDE) \
))
# The test uses O(U)String capabilities that dlopen this lib:
$(call gb_CppunitTest_get_target,sal_rtl) : \
$(call gb_Library_get_target,sal_textenc)
$(eval $(call gb_CppunitTest_use_external,sal_rtl,boost_headers))
ifeq ($(ENABLE_CIPHER_OPENSSL_BACKEND),TRUE)
$(eval $(call gb_CppunitTest_add_defs,sal_rtl,-DLIBO_CIPHER_OPENSSL_BACKEND))
endif
# vim: set noet sw=4 ts=4: