summaryrefslogtreecommitdiff
path: root/absl/base/config_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'absl/base/config_test.cc')
-rw-r--r--absl/base/config_test.cc20
1 files changed, 18 insertions, 2 deletions
diff --git a/absl/base/config_test.cc b/absl/base/config_test.cc
index ab04b447..c839712a 100644
--- a/absl/base/config_test.cc
+++ b/absl/base/config_test.cc
@@ -17,12 +17,12 @@
#include <cstdint>
#include "gtest/gtest.h"
+#include "absl/synchronization/internal/thread_pool.h"
namespace {
TEST(ConfigTest, Endianness) {
- union
- {
+ union {
uint32_t value;
uint8_t data[sizeof(uint32_t)];
} number;
@@ -41,4 +41,20 @@ TEST(ConfigTest, Endianness) {
#endif
}
+#if defined(ABSL_HAVE_THREAD_LOCAL)
+TEST(ConfigTest, ThreadLocal) {
+ static thread_local int mine_mine_mine = 16;
+ EXPECT_EQ(16, mine_mine_mine);
+ {
+ absl::synchronization_internal::ThreadPool pool(1);
+ pool.Schedule([&] {
+ EXPECT_EQ(16, mine_mine_mine);
+ mine_mine_mine = 32;
+ EXPECT_EQ(32, mine_mine_mine);
+ });
+ }
+ EXPECT_EQ(16, mine_mine_mine);
+}
+#endif
+
} // namespace