]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: add failing denc tests for enums
authorCasey Bodley <cbodley@redhat.com>
Mon, 2 Mar 2020 20:15:38 +0000 (15:15 -0500)
committerCasey Bodley <cbodley@redhat.com>
Mon, 2 Mar 2020 20:41:09 +0000 (15:41 -0500)
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 <cbodley@redhat.com>
src/test/test_denc.cc

index 0924ee4eda2c8fa65462bc25fc2405db2299166d..7df181d9e67b16bf56690523fb7b6a911901af77 100644 (file)
@@ -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 {