From e1d9ba3cf902a5ddca877a0827f1a10150b40a3c Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Mon, 2 Mar 2020 15:15:38 -0500 Subject: [PATCH] test: add failing denc tests for enums all but the 8-bit enums fail to compile because they don't match the traits specialization for underlying_type Signed-off-by: Casey Bodley --- src/test/test_denc.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/test/test_denc.cc b/src/test/test_denc.cc index 0924ee4eda2..7df181d9e67 100644 --- a/src/test/test_denc.cc +++ b/src/test/test_denc.cc @@ -180,6 +180,28 @@ TEST(denc, string) test_denc(c); } +TEST(denc, enum_class) +{ + enum class enum_class_8 : int8_t { value }; + test_denc(enum_class_8::value); + enum class enum_class_u8 : uint8_t { value }; + test_denc(enum_class_u8::value); + enum class enum_class_16 : int16_t { value }; + test_denc(enum_class_16::value); + enum class enum_class_u16 : uint16_t { value }; + test_denc(enum_class_u16::value); + enum class enum_class_32 : int32_t { value }; + test_denc(enum_class_32::value); + enum class enum_class_u32 : uint32_t { value }; + test_denc(enum_class_u32::value); + enum class enum_class_64 : int64_t { value }; + test_denc(enum_class_64::value); + enum class enum_class_u64 : uint64_t { value }; + test_denc(enum_class_u64::value); + enum class enum_class { value }; + test_denc(enum_class::value); +} + struct legacy_t { int32_t a = 1; void encode(bufferlist& bl) const { -- 2.39.5