platform_bionic/tests/limits_test.cpp
Elliott Hughes b266f6522f Add LINE_MAX.
LINE_MAX is a bad idea from the 1970s that we've ignored until now,
but there's already one hack in the AOSP tree (external/ltp) to work
around its absence, and kselftests would need another. Both uses are
bad code, but bad code exists, and iOS/macOS and musl/glibc all have
the same 2048 value, and it is in POSIX, so at least it's consistent
idiocy. Hopefully we're not encouraging more of it!

Bug: https://github.com/llvm/llvm-project/issues/88119
Change-Id: Ief219c3fe20b3d95da7040c4b9411f997b1c0470
2024-04-09 15:41:10 +00:00

80 lines
1.6 KiB
C++

/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <gtest/gtest.h>
#include <limits.h>
TEST(limits, macros) {
ASSERT_EQ(8, CHAR_BIT);
ASSERT_EQ(8 * static_cast<int>(sizeof(int)), WORD_BIT);
ASSERT_EQ(2048, LINE_MAX);
ASSERT_EQ(20, NZERO);
#if !defined(MB_LEN_MAX)
#error MB_LEN_MAX
#endif
#if !defined(CHAR_MIN)
#error CHAR_MIN
#endif
#if !defined(CHAR_MAX)
#error CHAR_MAX
#endif
#if !defined(SCHAR_MIN)
#error SCHAR_MIN
#endif
#if !defined(SCHAR_MAX)
#error SCHAR_MAX
#endif
#if !defined(SHRT_MIN)
#error SHRT_MIN
#endif
#if !defined(SHRT_MAX)
#error SHRT_MAX
#endif
#if !defined(INT_MIN)
#error INT_MIN
#endif
#if !defined(INT_MAX)
#error INT_MAX
#endif
#if !defined(LONG_MIN)
#error LONG_MIN
#endif
#if !defined(LONG_MAX)
#error LONG_MAX
#endif
#if !defined(LLONG_MIN)
#error LLONG_MIN
#endif
#if !defined(LLONG_MAX)
#error LLONG_MAX
#endif
#if !defined(UCHAR_MAX)
#error UCHAR_MAX
#endif
#if !defined(USHRT_MAX)
#error USHRT_MAX
#endif
#if !defined(UINT_MAX)
#error UINT_MAX
#endif
#if !defined(ULONG_MAX)
#error ULONG_MAX
#endif
#if !defined(ULLONG_MAX)
#error ULLONG_MAX
#endif
}