DavidSpickett created this revision. Herald added a project: All. DavidSpickett requested review of this revision. Herald added a project: LLDB. Herald added a subscriber: lldb-commits.
1438639a2f7eb9e9cba01454d3a9b1b16d179c9a <https://reviews.llvm.org/rG1438639a2f7eb9e9cba01454d3a9b1b16d179c9a> removed a test that was using undefined behaviour setting a non-typed enum to a value outside its known range. That test also checked if we formatted the value properly when it could contain >1 valid enum value. I don't think there's anything special about how we format typed vs non-typed enums so I'm adding a test for ScopedEnum that will expect to see 2 enum values plus extra. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D131472 Files: lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py lldb/test/API/lang/cpp/const_static_integral_member/main.cpp Index: lldb/test/API/lang/cpp/const_static_integral_member/main.cpp =================================================================== --- lldb/test/API/lang/cpp/const_static_integral_member/main.cpp +++ lldb/test/API/lang/cpp/const_static_integral_member/main.cpp @@ -49,6 +49,7 @@ const static Enum enum_val = enum_case2; const static ScopedEnum scoped_enum_val = ScopedEnum::scoped_enum_case2; const static ScopedEnum invalid_scoped_enum_val = static_cast<ScopedEnum>(5); + const static ScopedEnum invalid_scoped_enum_val_2 = static_cast<ScopedEnum>(7); const static ScopedCharEnum scoped_char_enum_val = ScopedCharEnum::case2; const static ScopedLongLongEnum scoped_ll_enum_val_neg = ScopedLongLongEnum::case0; Index: lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py =================================================================== --- lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py +++ lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py @@ -58,6 +58,9 @@ self.expect_expr("A::scoped_enum_val", result_value="scoped_enum_case2") # Test an scoped enum with an invalid enum case. self.expect_expr("A::invalid_scoped_enum_val", result_value="scoped_enum_case1 | 0x4") + # This time with more than one enum value plus the extra. + self.expect_expr("A::invalid_scoped_enum_val_2", + result_value="scoped_enum_case1 | scoped_enum_case2 | 0x4") # Test an enum with fixed underlying type. self.expect_expr("A::scoped_char_enum_val", result_value="case2")
Index: lldb/test/API/lang/cpp/const_static_integral_member/main.cpp =================================================================== --- lldb/test/API/lang/cpp/const_static_integral_member/main.cpp +++ lldb/test/API/lang/cpp/const_static_integral_member/main.cpp @@ -49,6 +49,7 @@ const static Enum enum_val = enum_case2; const static ScopedEnum scoped_enum_val = ScopedEnum::scoped_enum_case2; const static ScopedEnum invalid_scoped_enum_val = static_cast<ScopedEnum>(5); + const static ScopedEnum invalid_scoped_enum_val_2 = static_cast<ScopedEnum>(7); const static ScopedCharEnum scoped_char_enum_val = ScopedCharEnum::case2; const static ScopedLongLongEnum scoped_ll_enum_val_neg = ScopedLongLongEnum::case0; Index: lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py =================================================================== --- lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py +++ lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py @@ -58,6 +58,9 @@ self.expect_expr("A::scoped_enum_val", result_value="scoped_enum_case2") # Test an scoped enum with an invalid enum case. self.expect_expr("A::invalid_scoped_enum_val", result_value="scoped_enum_case1 | 0x4") + # This time with more than one enum value plus the extra. + self.expect_expr("A::invalid_scoped_enum_val_2", + result_value="scoped_enum_case1 | scoped_enum_case2 | 0x4") # Test an enum with fixed underlying type. self.expect_expr("A::scoped_char_enum_val", result_value="case2")
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits