jdk-24/test/make/autoconf/test.m4
Erik Joelsson 020255a72d 8267174: Many test files have the wrong Copyright header
Reviewed-by: valeriep, aivanov, iris, dholmes, ihse
2023-09-12 20:16:05 +00:00

106 lines
3.5 KiB
Plaintext

#
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code 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
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
###############################################################################
#
# Unit tests for the configure script
#
###############################################################################
AC_DEFUN([TEST_STRING_OPS],
[
FEW="ninja banan pepparkaka"
MANY="banan antarktis pepparkaka ninjamask bana"
EXPECTED_NON_MATCHING="antarktis ninjamask bana"
UTIL_GET_NON_MATCHING_VALUES(ACTUAL, $MANY, $FEW)
UTIL_ASSERT_STRING_EQUALS($ACTUAL, $EXPECTED_NON_MATCHING, \
[UTIL_GET_NON_MATCHING_VALUES failed])
EXPECTED_MATCHING="banan pepparkaka"
UTIL_GET_MATCHING_VALUES(ACTUAL, $FEW, $MANY)
UTIL_ASSERT_STRING_EQUALS($ACTUAL, $EXPECTED_MATCHING, \
[UTIL_GET_MATCHING_VALUES failed])
])
AC_DEFUN([TEST_ARG_ENABLE],
[
# fake '--enable-default-false=yes' on the command line
enable_default_false=yes
UTIL_ARG_ENABLE(NAME: default-false, DEFAULT: false, RESULT: TEST_RESULT)
UTIL_ASSERT_TRUE($TEST_RESULT)
# assume '--enable-default-true-but-unavailable=yes' not set
UTIL_ARG_ENABLE(NAME: default-true-but-unavailable, DEFAULT: auto, RESULT: TEST_RESULT, AVAILABLE: false)
UTIL_ASSERT_NOT_TRUE($TEST_RESULT)
enable_test_given_yes=yes
given=false
enabled=false
disabled=false
UTIL_ARG_ENABLE(NAME: test-given-yes, DEFAULT: false,
IF_GIVEN: [ given=true ], IF_ENABLED: [ enabled=true ],
IF_DISABLED: [ disabled=true ])
UTIL_ASSERT_TRUE($given)
UTIL_ASSERT_TRUE($enabled)
UTIL_ASSERT_NOT_TRUE($disabled)
enable_test_given_default=no
given=false
enabled=false
disabled=false
UTIL_ARG_ENABLE(NAME: test-given-default, DEFAULT: true,
IF_GIVEN: [ given=true ], IF_ENABLED: [ enabled=true ],
IF_DISABLED: [ disabled=true ])
UTIL_ASSERT_TRUE($given)
UTIL_ASSERT_NOT_TRUE($enabled)
UTIL_ASSERT_TRUE($disabled)
# assume '--enable-test-given-no' not set
given=false
enabled=false
disabled=false
UTIL_ARG_ENABLE(NAME: test-given-no, DEFAULT: true,
IF_GIVEN: [ given=true ], IF_ENABLED: [ enabled=true ],
IF_DISABLED: [ disabled=true ])
UTIL_ASSERT_NOT_TRUE($given)
UTIL_ASSERT_TRUE($enabled)
UTIL_ASSERT_NOT_TRUE($disabled)
])
# Use the CUSTOM_EARLY_HOOK to inject our test after basic init is done.
AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK],
[
$PRINTF "\nStarting configure tests\n"
$PRINTF "==============================\n"
TEST_STRING_OPS
TEST_ARG_ENABLE
# If no assertions failed, report success
$PRINTF "==============================\n"
$PRINTF "Configure tests finished successfully\n\n"
exit 0
])