Skip to content

Commit 8f6fa1b

Browse files
committed
Remove unnecessary repetitive tests
1 parent 1de09dd commit 8f6fa1b

File tree

1 file changed

+9
-90
lines changed

1 file changed

+9
-90
lines changed

llvm/unittests/ADT/APFloatTest.cpp

Lines changed: 9 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -10184,111 +10184,30 @@ TEST(APFloatTest, FrexpQuietSNaN) {
1018410184

1018510185
TEST(APFloatTest, getPromoted) {
1018610186
// Strengthening promotions are allowed.
10187-
bool LosesInfo = false;
1018810187
APFloat ValidPromotionTest(1.0f);
10189-
APFloat FloatVal = ValidPromotionTest.getPromoted(APFloat::IEEEsingle());
1019010188
APFloat DoubleVal = ValidPromotionTest.getPromoted(APFloat::IEEEdouble());
10191-
APFloat QuadVal = ValidPromotionTest.getPromoted(APFloat::IEEEquad());
10192-
APFloat X87DoubleVal =
10193-
ValidPromotionTest.getPromoted(APFloat::x87DoubleExtended());
10194-
APFloat PPCDoubleDoubleVal =
10195-
ValidPromotionTest.getPromoted(APFloat::PPCDoubleDoubleLegacy());
1019610189

1019710190
// Trivial promotions to the same semantics are allowed.
10198-
FloatVal.getPromoted(FloatVal.getSemantics());
1019910191
DoubleVal.getPromoted(DoubleVal.getSemantics());
10200-
QuadVal.getPromoted(QuadVal.getSemantics());
10201-
X87DoubleVal.getPromoted(X87DoubleVal.getSemantics());
10202-
PPCDoubleDoubleVal.getPromoted(PPCDoubleDoubleVal.getSemantics());
1020310192

10204-
// Promotions have the expected semantics.
10205-
EXPECT_EQ(&FloatVal.getSemantics(), &APFloat::IEEEsingle());
10193+
// Promotions have the expected semantics and preserve the initial value.
1020610194
EXPECT_EQ(&DoubleVal.getSemantics(), &APFloat::IEEEdouble());
10207-
EXPECT_EQ(&QuadVal.getSemantics(), &APFloat::IEEEquad());
10208-
EXPECT_EQ(&X87DoubleVal.getSemantics(), &APFloat::x87DoubleExtended());
10209-
EXPECT_EQ(&PPCDoubleDoubleVal.getSemantics(),
10210-
&APFloat::PPCDoubleDoubleLegacy());
10211-
10212-
// Promotions preserve the initial value.
10213-
QuadVal.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
10214-
&LosesInfo);
10215-
EXPECT_FALSE(LosesInfo);
10216-
X87DoubleVal.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
10217-
&LosesInfo);
10218-
EXPECT_FALSE(LosesInfo);
10219-
PPCDoubleDoubleVal.convert(APFloat::IEEEdouble(),
10220-
APFloat::rmNearestTiesToEven, &LosesInfo);
10221-
EXPECT_FALSE(LosesInfo);
10222-
EXPECT_EQ(1.0, FloatVal.convertToFloat());
1022310195
EXPECT_EQ(1.0, DoubleVal.convertToDouble());
10224-
EXPECT_EQ(1.0, QuadVal.convertToDouble());
10225-
EXPECT_EQ(1.0, X87DoubleVal.convertToDouble());
10226-
EXPECT_EQ(1.0, PPCDoubleDoubleVal.convertToDouble());
1022710196

10197+
#ifdef GTEST_HAS_DEATH_TEST
10198+
#ifndef NDEBUG
1022810199
// All invalid promotions are swiftly killed.
10229-
APFloat InvalidPromotionTest(1.0f);
10230-
EXPECT_DEATH(InvalidPromotionTest.getPromoted(APFloat::IEEEhalf()),
10231-
"Target semantics will lose information");
10232-
EXPECT_DEATH(InvalidPromotionTest.getPromoted(APFloat::BFloat()),
10233-
"Target semantics will lose information.");
10234-
10235-
APFloat InvalidPromotionDoubleTest =
10236-
InvalidPromotionTest.getPromoted(APFloat::IEEEdouble());
10237-
EXPECT_DEATH(InvalidPromotionDoubleTest.getPromoted(APFloat::BFloat()),
10238-
"Target semantics will lose information.");
10239-
EXPECT_DEATH(InvalidPromotionDoubleTest.getPromoted(APFloat::IEEEsingle()),
10240-
"Target semantics will lose information");
10241-
EXPECT_DEATH(InvalidPromotionDoubleTest.getPromoted(APFloat::IEEEhalf()),
10242-
"Target semantics will lose information");
10243-
10244-
APFloat InvalidPromotionQuadTest =
10245-
InvalidPromotionTest.getPromoted(APFloat::IEEEquad());
10246-
EXPECT_DEATH(InvalidPromotionQuadTest.getPromoted(APFloat::BFloat()),
10247-
"Target semantics will lose information.");
10248-
EXPECT_DEATH(InvalidPromotionQuadTest.getPromoted(APFloat::IEEEsingle()),
10249-
"Target semantics will lose information");
10250-
EXPECT_DEATH(InvalidPromotionQuadTest.getPromoted(APFloat::IEEEhalf()),
10251-
"Target semantics will lose information");
10252-
EXPECT_DEATH(InvalidPromotionQuadTest.getPromoted(APFloat::IEEEdouble()),
10200+
APFloat InvalidPromotionTest = ValidPromotionTest.getPromoted(APFloat::IEEEquad());
10201+
EXPECT_DEATH(InvalidPromotionTest.getPromoted(APFloat::IEEEdouble()),
1025310202
"Target semantics will lose information");
1025410203
EXPECT_DEATH(
10255-
InvalidPromotionQuadTest.getPromoted(APFloat::x87DoubleExtended()),
10204+
InvalidPromotionTest.getPromoted(APFloat::x87DoubleExtended()),
1025610205
"Target semantics will lose information");
1025710206
EXPECT_DEATH(
10258-
InvalidPromotionQuadTest.getPromoted(APFloat::PPCDoubleDoubleLegacy()),
10207+
InvalidPromotionTest.getPromoted(APFloat::PPCDoubleDoubleLegacy()),
1025910208
"Target semantics will lose information");
10260-
10261-
APFloat InvalidPromotionX87Test =
10262-
InvalidPromotionTest.getPromoted(APFloat::x87DoubleExtended());
10263-
EXPECT_DEATH(InvalidPromotionX87Test.getPromoted(APFloat::BFloat()),
10264-
"Target semantics will lose information.");
10265-
EXPECT_DEATH(InvalidPromotionX87Test.getPromoted(APFloat::IEEEsingle()),
10266-
"Target semantics will lose information");
10267-
EXPECT_DEATH(InvalidPromotionX87Test.getPromoted(APFloat::IEEEhalf()),
10268-
"Target semantics will lose information");
10269-
EXPECT_DEATH(InvalidPromotionX87Test.getPromoted(APFloat::IEEEdouble()),
10270-
"Target semantics will lose information");
10271-
EXPECT_DEATH(
10272-
InvalidPromotionX87Test.getPromoted(APFloat::PPCDoubleDoubleLegacy()),
10273-
"Target semantics will lose information");
10274-
10275-
APFloat InvalidPromotionPPCDoubleDoubleTest =
10276-
InvalidPromotionTest.getPromoted(APFloat::PPCDoubleDoubleLegacy());
10277-
EXPECT_DEATH(
10278-
InvalidPromotionPPCDoubleDoubleTest.getPromoted(APFloat::BFloat()),
10279-
"Target semantics will lose information.");
10280-
EXPECT_DEATH(
10281-
InvalidPromotionPPCDoubleDoubleTest.getPromoted(APFloat::IEEEsingle()),
10282-
"Target semantics will lose information");
10283-
EXPECT_DEATH(
10284-
InvalidPromotionPPCDoubleDoubleTest.getPromoted(APFloat::IEEEhalf()),
10285-
"Target semantics will lose information");
10286-
EXPECT_DEATH(
10287-
InvalidPromotionPPCDoubleDoubleTest.getPromoted(APFloat::IEEEdouble()),
10288-
"Target semantics will lose information");
10289-
EXPECT_DEATH(InvalidPromotionPPCDoubleDoubleTest.getPromoted(
10290-
APFloat::x87DoubleExtended()),
10291-
"Target semantics will lose information");
10209+
#endif
10210+
#endif
1029210211
}
1029310212

1029410213
} // namespace

0 commit comments

Comments
 (0)