aboutsummaryrefslogtreecommitdiff
path: root/libcxx
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-07-18 03:00:09 +0000
committerEric Fiselier <eric@efcs.ca>2016-07-18 03:00:09 +0000
commitfb946da259d26e703c8da7f7cb155fa244757f75 (patch)
treee582e9d6168226ea1c961c1e6ee664cb9aa54dfd /libcxx
parent03f46fc2eda586c946f875195db87b942d139452 (diff)
downloadllvm-fb946da259d26e703c8da7f7cb155fa244757f75.zip
llvm-fb946da259d26e703c8da7f7cb155fa244757f75.tar.gz
llvm-fb946da259d26e703c8da7f7cb155fa244757f75.tar.bz2
Add checkpoint diagnostics to help diagnose buildbot failures.
llvm-svn: 275754
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/types.pass.cpp4
-rw-r--r--libcxx/test/support/assert_checkpoint.h9
2 files changed, 11 insertions, 2 deletions
diff --git a/libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/types.pass.cpp b/libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/types.pass.cpp
index fdfab57..34af418 100644
--- a/libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/types.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/types.pass.cpp
@@ -28,10 +28,12 @@
#include <cassert>
#include "platform_support.h" // locale name macros
+#include "assert_checkpoint.h"
int main()
{
{
+ CHECKPOINT("constructing en-US.UTF-8");
std::locale l(LOCALE_en_US_UTF_8);
{
assert(std::has_facet<std::ctype_byname<char> >(l));
@@ -45,6 +47,7 @@ int main()
}
}
{
+ CHECKPOINT("constructing default locale");
std::locale l("");
{
assert(std::has_facet<std::ctype_byname<char> >(l));
@@ -58,6 +61,7 @@ int main()
}
}
{
+ CHECKPOINT("constructing C locale");
std::locale l("C");
{
assert(std::has_facet<std::ctype_byname<char> >(l));
diff --git a/libcxx/test/support/assert_checkpoint.h b/libcxx/test/support/assert_checkpoint.h
index cf03328..6627b35 100644
--- a/libcxx/test/support/assert_checkpoint.h
+++ b/libcxx/test/support/assert_checkpoint.h
@@ -11,6 +11,11 @@ struct Checkpoint {
int line;
const char* msg;
+ Checkpoint() : file(nullptr), func(nullptr), line(-1), msg(nullptr) {}
+ Checkpoint(const char* xfile, const char* xfunc, int xline, const char* xmsg)
+ : file(xfile), func(xfunc), line(xline), msg(xmsg)
+ {}
+
template <class Stream>
void print(Stream& s) const {
if (!file) {
@@ -30,7 +35,7 @@ inline Checkpoint& globalCheckpoint() {
}
inline void clearCheckpoint() {
- globalCheckpoint() = {};
+ globalCheckpoint() = Checkpoint();
}
#if defined(__GNUC__)
@@ -39,7 +44,7 @@ inline void clearCheckpoint() {
#define CHECKPOINT_FUNCTION_NAME __func__
#endif
-#define CHECKPOINT(msg) globalCheckpoint() = Checkpoint{__FILE__, CHECKPOINT_FUNCTION_NAME, __LINE__, msg}
+#define CHECKPOINT(msg) globalCheckpoint() = Checkpoint(__FILE__, CHECKPOINT_FUNCTION_NAME, __LINE__, msg);
inline void checkpointSignalHandler(int signal) {
if (signal == SIGABRT) {