Skip to content

Commit b0275f7

Browse files
committed
[core] add ROOT_EXPECT_*_PARTIAL in TestSupport
Also refactor a bit the code to avoid repetition
1 parent e17335f commit b0275f7

File tree

1 file changed

+29
-26
lines changed

1 file changed

+29
-26
lines changed

core/testsupport/inc/ROOT/TestSupport.hxx

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ public:
7676
}
7777

7878
/// Construct from ROOT's `kWarning, kError, ...` and strings specifying location and message.
79-
CheckDiagsRAII(int severity, std::string inRoutine, std::string E) : CheckDiagsRAII()
79+
CheckDiagsRAII(int severity, std::string inRoutine, std::string E, bool matchFullMessage = true) : CheckDiagsRAII()
8080
{
81-
requiredDiag(severity, inRoutine, E);
81+
requiredDiag(severity, inRoutine, E, matchFullMessage);
8282
}
8383

8484
~CheckDiagsRAII();
@@ -155,25 +155,11 @@ private:
155155
} // namespace TestSupport
156156
} // namespace ROOT
157157

158-
#define ROOT_EXPECT_ERROR(expression, where, expected_diag) \
159-
{ \
160-
using namespace ROOT::TestSupport; \
161-
CheckDiagsRAII EE(kError, where, expected_diag); \
162-
expression; \
163-
}
164-
165-
#define ROOT_EXPECT_WARNING(expression, where, expected_diag) \
166-
{ \
167-
using namespace ROOT::TestSupport; \
168-
CheckDiagsRAII EE(kWarning, where, expected_diag); \
169-
expression; \
170-
}
171-
172-
#define ROOT_EXPECT_INFO(expression, where, expected_diag) \
173-
{ \
174-
using namespace ROOT::TestSupport; \
175-
CheckDiagsRAII EE(kInfo, where, expected_diag); \
176-
expression; \
158+
#define ROOT_EXPECT_DIAG(diag_class, expression, where, expected_diag, match_full) \
159+
{ \
160+
using namespace ROOT::TestSupport; \
161+
CheckDiagsRAII EE(diag_class, where, expected_diag, match_full); \
162+
expression; \
177163
}
178164

179165
#define ROOT_EXPECT_NODIAG(expression) \
@@ -183,11 +169,28 @@ private:
183169
expression; \
184170
}
185171

172+
#define ROOT_EXPECT_ERROR(expression, where, expected_diag) \
173+
ROOT_EXPECT_DIAG(kError, expression, where, expected_diag, true)
174+
175+
#define ROOT_EXPECT_ERROR_PARTIAL(expression, where, expected_diag) \
176+
ROOT_EXPECT_DIAG(kError, expression, where, expected_diag, false)
177+
178+
#define ROOT_EXPECT_WARNING(expression, where, expected_diag) \
179+
ROOT_EXPECT_DIAG(kWarning, expression, where, expected_diag, true)
180+
181+
#define ROOT_EXPECT_WARNING_PARTIAL(expression, where, expected_diag) \
182+
ROOT_EXPECT_DIAG(kWarning, expression, where, expected_diag, false)
183+
184+
#define ROOT_EXPECT_INFO(expression, where, expected_diag) \
185+
ROOT_EXPECT_DIAG(kInfo, expression, where, expected_diag, true)
186+
187+
#define ROOT_EXPECT_INFO_PARTIAL(expression, where, expected_diag) \
188+
ROOT_EXPECT_DIAG(kInfo, expression, where, expected_diag, false)
189+
186190
#define ROOT_EXPECT_SYSERROR(expression, where, expected_diag) \
187-
{ \
188-
using namespace ROOT::TestSupport; \
189-
CheckDiagsRAII EE(kSysError, where, expected_diag); \
190-
expression; \
191-
}
191+
ROOT_EXPECT_DIAG(kSysError, expression, where, expected_diag, true)
192+
193+
#define ROOT_EXPECT_SYSERROR_PARTIAL(expression, where, expected_diag) \
194+
ROOT_EXPECT_DIAG(kSysError, expression, where, expected_diag, false)
192195

193196
#endif // ROOT_UNITTESTSUPPORT_H

0 commit comments

Comments
 (0)