Fix up the tests I added for string exceptions to be skipped when exceptions are disabled

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@258279 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Marshall Clow
2016-01-20 03:19:15 +00:00
parent 14a9008568
commit 85d4c2a93f
5 changed files with 29 additions and 0 deletions

View File

@@ -161,6 +161,7 @@ int main()
S("12345678901234567890""ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); S("12345678901234567890""ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"));
} }
#endif #endif
#ifndef TEST_HAS_NO_EXCEPTIONS
{ // test iterator operations that throw { // test iterator operations that throw
typedef std::string S; typedef std::string S;
typedef ThrowingIterator<char> TIter; typedef ThrowingIterator<char> TIter;
@@ -174,4 +175,5 @@ int main()
test_exceptions(S(), TIter(s, s+10, 5, TIter::TADereference), TIter()); test_exceptions(S(), TIter(s, s+10, 5, TIter::TADereference), TIter());
test_exceptions(S(), TIter(s, s+10, 6, TIter::TAComparison), TIter()); test_exceptions(S(), TIter(s, s+10, 6, TIter::TAComparison), TIter());
} }
#endif
} }

View File

@@ -161,6 +161,7 @@ int main()
S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"));
} }
#endif #endif
#ifndef TEST_HAS_NO_EXCEPTIONS
{ // test iterator operations that throw { // test iterator operations that throw
typedef std::string S; typedef std::string S;
typedef ThrowingIterator<char> TIter; typedef ThrowingIterator<char> TIter;
@@ -174,4 +175,5 @@ int main()
test_exceptions(S(), TIter(s, s+10, 5, TIter::TADereference), TIter()); test_exceptions(S(), TIter(s, s+10, 5, TIter::TADereference), TIter());
test_exceptions(S(), TIter(s, s+10, 6, TIter::TAComparison), TIter()); test_exceptions(S(), TIter(s, s+10, 6, TIter::TAComparison), TIter());
} }
#endif
} }

View File

@@ -142,6 +142,7 @@ int main()
S("12345678901234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); S("12345678901234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"));
} }
#endif #endif
#ifndef TEST_HAS_NO_EXCEPTIONS
{ // test iterator operations that throw { // test iterator operations that throw
typedef std::string S; typedef std::string S;
typedef ThrowingIterator<char> TIter; typedef ThrowingIterator<char> TIter;
@@ -155,6 +156,7 @@ int main()
test_exceptions(S(), 0, TIter(s, s+10, 5, TIter::TADereference), TIter()); test_exceptions(S(), 0, TIter(s, s+10, 5, TIter::TADereference), TIter());
test_exceptions(S(), 0, TIter(s, s+10, 6, TIter::TAComparison), TIter()); test_exceptions(S(), 0, TIter(s, s+10, 6, TIter::TAComparison), TIter());
} }
#endif
#if _LIBCPP_DEBUG >= 1 #if _LIBCPP_DEBUG >= 1
{ {
std::string v; std::string v;

View File

@@ -990,6 +990,7 @@ int main()
test8<S>(); test8<S>();
} }
#endif #endif
#ifndef TEST_HAS_NO_EXCEPTIONS
{ // test iterator operations that throw { // test iterator operations that throw
typedef std::string S; typedef std::string S;
typedef ThrowingIterator<char> TIter; typedef ThrowingIterator<char> TIter;
@@ -1003,4 +1004,5 @@ int main()
test_exceptions(S("abcdefghijklmnopqrst"), 10, 5, TIter(s, s+10, 5, TIter::TADereference), TIter()); test_exceptions(S("abcdefghijklmnopqrst"), 10, 5, TIter(s, s+10, 5, TIter::TADereference), TIter());
test_exceptions(S("abcdefghijklmnopqrst"), 10, 5, TIter(s, s+10, 6, TIter::TAComparison), TIter()); test_exceptions(S("abcdefghijklmnopqrst"), 10, 5, TIter(s, s+10, 6, TIter::TAComparison), TIter());
} }
#endif
} }

View File

@@ -349,7 +349,12 @@ struct ThrowingIterator {
if (action_ == TAAssignment) if (action_ == TAAssignment)
{ {
if (index_ == 0) if (index_ == 0)
#ifndef TEST_HAS_NO_EXCEPTIONS
assert(false);
#else
throw std::runtime_error ("throw from iterator assignment"); throw std::runtime_error ("throw from iterator assignment");
#endif
else else
--index_; --index_;
} }
@@ -367,7 +372,11 @@ struct ThrowingIterator {
if (action_ == TADereference) if (action_ == TADereference)
{ {
if (index_ == 0) if (index_ == 0)
#ifndef TEST_HAS_NO_EXCEPTIONS
assert(false);
#else
throw std::runtime_error ("throw from iterator dereference"); throw std::runtime_error ("throw from iterator dereference");
#endif
else else
--index_; --index_;
} }
@@ -379,7 +388,11 @@ struct ThrowingIterator {
if (action_ == TAIncrement) if (action_ == TAIncrement)
{ {
if (index_ == 0) if (index_ == 0)
#ifndef TEST_HAS_NO_EXCEPTIONS
assert(false);
#else
throw std::runtime_error ("throw from iterator increment"); throw std::runtime_error ("throw from iterator increment");
#endif
else else
--index_; --index_;
} }
@@ -399,7 +412,11 @@ struct ThrowingIterator {
if (action_ == TADecrement) if (action_ == TADecrement)
{ {
if (index_ == 0) if (index_ == 0)
#ifndef TEST_HAS_NO_EXCEPTIONS
assert(false);
#else
throw std::runtime_error ("throw from iterator decrement"); throw std::runtime_error ("throw from iterator decrement");
#endif
else else
--index_; --index_;
} }
@@ -418,7 +435,11 @@ struct ThrowingIterator {
if (action_ == TAComparison) if (action_ == TAComparison)
{ {
if (index_ == 0) if (index_ == 0)
#ifndef TEST_HAS_NO_EXCEPTIONS
assert(false);
#else
throw std::runtime_error ("throw from iterator comparison"); throw std::runtime_error ("throw from iterator comparison");
#endif
else else
--index_; --index_;
} }