diff options
author | Benjamin Barenblat <bbaren@google.com> | 2022-02-01 14:31:48 -0500 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2022-02-01 15:59:24 -0500 |
commit | 84cb38373ecdf26edbf39429cc37e834d2a11447 (patch) | |
tree | b9d40dc2c9e3c291981389a29c49c868c10608c8 /debian/patches/std-hash.diff | |
parent | f16b667ef722b8f767c06e6d1b56179a8ed0f75a (diff) | |
download | abseil-84cb38373ecdf26edbf39429cc37e834d2a11447.tar.gz abseil-84cb38373ecdf26edbf39429cc37e834d2a11447.tar.bz2 abseil-84cb38373ecdf26edbf39429cc37e834d2a11447.zip |
Fix Abseil hash tests on s390x
Backport some patches from upstream to make tests pass on big-endian
machines.
Diffstat (limited to 'debian/patches/std-hash.diff')
-rw-r--r-- | debian/patches/std-hash.diff | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/debian/patches/std-hash.diff b/debian/patches/std-hash.diff deleted file mode 100644 index 52096742..00000000 --- a/debian/patches/std-hash.diff +++ /dev/null @@ -1,46 +0,0 @@ -From: Benjamin Barenblat <bbaren@google.com> -Subject: Work around broken std::hash on s390x -Forwarded: no -Bug-Debian: https://bugs.debian.org/977638 - -On s390x, std::hash hashes large classes of data to the same value, which -violates assumptions made by the Abseil tests. #ifdef out the test code that -depends on those assumptions. - ---- a/absl/hash/hash_test.cc -+++ b/absl/hash/hash_test.cc -@@ -358,6 +358,8 @@ - TEST(HashValueTest, StdBitset) { - EXPECT_TRUE((is_hashable<std::bitset<257>>::value)); - -+ // The following assertions fail on s390x (https://bugs.debian.org/977638). -+#ifndef __s390x__ - EXPECT_TRUE(absl::VerifyTypeImplementsAbslHashCorrectly( - {std::bitset<2>("00"), std::bitset<2>("01"), std::bitset<2>("10"), - std::bitset<2>("11")})); -@@ -379,6 +381,7 @@ - std::bitset<kNumBits>(bit_strings[3].c_str()), - std::bitset<kNumBits>(bit_strings[4].c_str()), - std::bitset<kNumBits>(bit_strings[5].c_str())})); -+#endif - } // namespace - - template <typename T> -@@ -400,10 +403,15 @@ - } - - REGISTER_TYPED_TEST_CASE_P(HashValueSequenceTest, BasicUsage); -+// std::vector<bool> tests fail on s390x, so exclude them. See -+// https://bugs.debian.org/977638. - using IntSequenceTypes = - testing::Types<std::deque<int>, std::forward_list<int>, std::list<int>, -- std::vector<int>, std::vector<bool>, std::set<int>, -- std::multiset<int>>; -+ std::vector<int>, -+#ifndef __s390x__ -+ std::vector<bool>, -+#endif -+ std::set<int>, std::multiset<int>>; - INSTANTIATE_TYPED_TEST_CASE_P(My, HashValueSequenceTest, IntSequenceTypes); - - // Private type that only supports AbslHashValue to make sure our chosen hash |