From 6f6175d1c6d6925d5e0a03cfb07232cf9e530512 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 18 Aug 2021 08:54:18 -0400 Subject: [PATCH] [libc++][NFC] Fix copy-paste errors in tests The test precision_type.pass.cpp was a duplicate of precision.pass.cpp, so it is removed. atomic_flag_test.pass.cpp was a duplicate of atomic_flag_test_and_set.pass.cpp, so instead I wrote a proper test for it. Those duplicate tests were detected with find libcxx ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD --- .../atomics.flag/atomic_flag_test.pass.cpp | 16 ++-- .../atomic_flag_test_explicit.pass.cpp | 2 +- .../time.hms.members/precision.pass.cpp | 2 +- .../time.hms.members/precision_type.pass.cpp | 80 ------------------- 4 files changed, 11 insertions(+), 89 deletions(-) delete mode 100644 libcxx/test/std/utilities/time/time.hms/time.hms.members/precision_type.pass.cpp diff --git a/libcxx/test/std/atomics/atomics.flag/atomic_flag_test.pass.cpp b/libcxx/test/std/atomics/atomics.flag/atomic_flag_test.pass.cpp index 22e4b66d45c5..44e4668d6d90 100644 --- a/libcxx/test/std/atomics/atomics.flag/atomic_flag_test.pass.cpp +++ b/libcxx/test/std/atomics/atomics.flag/atomic_flag_test.pass.cpp @@ -12,8 +12,8 @@ // struct atomic_flag -// bool atomic_flag_test_and_set(volatile atomic_flag*); -// bool atomic_flag_test_and_set(atomic_flag*); +// bool atomic_flag_test(const volatile atomic_flag*); +// bool atomic_flag_test(const atomic_flag*); #include #include @@ -25,15 +25,17 @@ int main(int, char**) { std::atomic_flag f; f.clear(); - assert(atomic_flag_test_and_set(&f) == 0); - assert(f.test_and_set() == 1); + assert(atomic_flag_test(&f) == 0); + assert(f.test_and_set() == 0); + assert(atomic_flag_test(&f) == 1); } { volatile std::atomic_flag f; f.clear(); - assert(atomic_flag_test_and_set(&f) == 0); - assert(f.test_and_set() == 1); + assert(atomic_flag_test(&f) == 0); + assert(f.test_and_set() == 0); + assert(atomic_flag_test(&f) == 1); } - return 0; + return 0; } diff --git a/libcxx/test/std/atomics/atomics.flag/atomic_flag_test_explicit.pass.cpp b/libcxx/test/std/atomics/atomics.flag/atomic_flag_test_explicit.pass.cpp index af3665f13300..ee9b1470b2cd 100644 --- a/libcxx/test/std/atomics/atomics.flag/atomic_flag_test_explicit.pass.cpp +++ b/libcxx/test/std/atomics/atomics.flag/atomic_flag_test_explicit.pass.cpp @@ -111,5 +111,5 @@ int main(int, char**) assert(atomic_flag_test_explicit(&f, std::memory_order_seq_cst) == 1); } - return 0; + return 0; } diff --git a/libcxx/test/std/utilities/time/time.hms/time.hms.members/precision.pass.cpp b/libcxx/test/std/utilities/time/time.hms/time.hms.members/precision.pass.cpp index ee104523d6bd..622495a3a92a 100644 --- a/libcxx/test/std/utilities/time/time.hms/time.hms.members/precision.pass.cpp +++ b/libcxx/test/std/utilities/time/time.hms/time.hms.members/precision.pass.cpp @@ -44,7 +44,7 @@ constexpr unsigned long long powers[] = { 100000000000000000ULL, 1000000000000000000ULL, 10000000000000000000ULL - }; +}; template constexpr bool check_precision() diff --git a/libcxx/test/std/utilities/time/time.hms/time.hms.members/precision_type.pass.cpp b/libcxx/test/std/utilities/time/time.hms/time.hms.members/precision_type.pass.cpp deleted file mode 100644 index ee104523d6bd..000000000000 --- a/libcxx/test/std/utilities/time/time.hms/time.hms.members/precision_type.pass.cpp +++ /dev/null @@ -1,80 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// UNSUPPORTED: c++03, c++11, c++14, c++17 -// - -// template -// class hh_mm_ss -// { -// public: -// static unsigned constexpr fractional_width = see below; -// using precision = see below; -// -// precision is duration, -// ratio<1, 10^^fractional_width>> - -#include -#include - -#include "test_macros.h" - -constexpr unsigned long long powers[] = { - 1ULL, - 10ULL, - 100ULL, - 1000ULL, - 10000ULL, - 100000ULL, - 1000000ULL, - 10000000ULL, - 100000000ULL, - 1000000000ULL, - 10000000000ULL, - 100000000000ULL, - 1000000000000ULL, - 10000000000000ULL, - 100000000000000ULL, - 1000000000000000ULL, - 10000000000000000ULL, - 100000000000000000ULL, - 1000000000000000000ULL, - 10000000000000000000ULL - }; - -template -constexpr bool check_precision() -{ - using HMS = std::chrono::hh_mm_ss; - using CT = std::common_type_t; - using Pre = std::chrono::duration>; - return std::is_same_v; -} - -int main(int, char**) -{ - using microfortnights = std::chrono::duration>; - - static_assert( check_precision(), ""); - static_assert( check_precision(), ""); - static_assert( check_precision(), ""); - static_assert( check_precision(), ""); - static_assert( check_precision(), ""); - static_assert( check_precision(), ""); - static_assert( check_precision>, 1>(), ""); - static_assert( check_precision>, 6>(), ""); - static_assert( check_precision>, 2>(), ""); - static_assert( check_precision>, 1>(), ""); - static_assert( check_precision>, 6>(), ""); - static_assert( check_precision>, 6>(), ""); - static_assert( check_precision>, 3>(), ""); - static_assert( check_precision>, 6>(), ""); - static_assert( check_precision>, 1>(), ""); - static_assert( check_precision(), ""); - - return 0; -}