Browse Source

util unittests: replace try-catch-UNIT_ASSERT via UNIT_ASSERT_EXCEPTION

ref:f59ddae7dbb42f5fa999e6071769f709e8b80b85
gleb-kov 3 years ago
parent
commit
76cbe125b7

+ 1 - 10
util/folder/iterator_ut.cpp

@@ -211,16 +211,7 @@ private:
     }
     }
 
 
     inline void TestError() {
     inline void TestError() {
-        try {
-            TDirIterator d("./notexistingfilename");
-
-            UNIT_ASSERT(false);
-        } catch (const TDirIterator::TError&) {
-        } catch (...) {
-            UNIT_ASSERT(false);
-        }
-
-        UNIT_ASSERT(true);
+        UNIT_ASSERT_EXCEPTION(TDirIterator("./notexistingfilename"), TDirIterator::TError);
     }
     }
 };
 };
 
 

+ 1 - 9
util/generic/deque_ut.cpp

@@ -184,15 +184,7 @@ void TDequeTest::TestAt() {
     UNIT_ASSERT(d.at(0) == 10);
     UNIT_ASSERT(d.at(0) == 10);
     d.at(0) = 20;
     d.at(0) = 20;
     UNIT_ASSERT(cd.at(0) == 20);
     UNIT_ASSERT(cd.at(0) == 20);
-
-    for (;;) {
-        try {
-            d.at(1) = 20;
-            UNIT_ASSERT(false);
-        } catch (...) {
-            return;
-        }
-    }
+    UNIT_ASSERT_EXCEPTION(d.at(1) = 20, std::out_of_range);
 }
 }
 
 
 void TDequeTest::TestAutoRef() {
 void TDequeTest::TestAutoRef() {

+ 3 - 29
util/generic/string_ut.cpp

@@ -78,31 +78,13 @@ class TStringStdTestImpl {
 
 
 protected:
 protected:
     void Constructor() {
     void Constructor() {
-        // @todo use UNIT_TEST_EXCEPTION
-        try {
-            TStringType s((size_t)-1, *Data_.a());
-            UNIT_ASSERT(false);
-        } catch (const std::length_error&) {
-            UNIT_ASSERT(true);
-        } catch (...) {
-            //Expected exception is length_error:
-            UNIT_ASSERT(false);
-        }
+        UNIT_ASSERT_EXCEPTION(TStringType((size_t)-1, *Data_.a()), std::length_error);
     }
     }
 
 
     void reserve() {
     void reserve() {
 #if 0
 #if 0
         TStringType s;
         TStringType s;
-        // @todo use UNIT_TEST_EXCEPTION
-        try {
-            s.reserve(s.max_size() + 1);
-            UNIT_ASSERT(false);
-        } catch (const std::length_error&) {
-            UNIT_ASSERT(true);
-        } catch (...) {
-            //Expected exception is length_error:
-            UNIT_ASSERT(false);
-        }
+        UNIT_ASSERT_EXCEPTION(s.reserve(s.max_size() + 1), std::length_error);
 
 
         // Non-shared behaviour - never shrink
         // Non-shared behaviour - never shrink
 
 
@@ -526,15 +508,7 @@ protected:
         UNIT_ASSERT(dest[pos++] == *Data_.o());
         UNIT_ASSERT(dest[pos++] == *Data_.o());
         UNIT_ASSERT(dest[pos++] == 1);
         UNIT_ASSERT(dest[pos++] == 1);
 
 
-        // @todo use UNIT_TEST_EXCEPTION
-        try {
-            s.copy(dest, 4, 5);
-            UNIT_ASSERT(!"expected std::out_of_range");
-        } catch (const std::out_of_range&) {
-            UNIT_ASSERT(true);
-        } catch (...) {
-            UNIT_ASSERT(!"expected std::out_of_range");
-        }
+        UNIT_ASSERT_EXCEPTION(s.copy(dest, 4, 5), std::out_of_range);
     }
     }
 
 
     void cbegin_cend() {
     void cbegin_cend() {

+ 1 - 10
util/generic/vector_ut.cpp

@@ -334,16 +334,7 @@ private:
         v.at(0) = 20;
         v.at(0) = 20;
         UNIT_ASSERT(cv.at(0) == 20);
         UNIT_ASSERT(cv.at(0) == 20);
 
 
-        for (;;) {
-            try {
-                v.at(1) = 20;
-                UNIT_ASSERT(false);
-            } catch (std::out_of_range const&) {
-                return;
-            } catch (...) {
-                UNIT_ASSERT(false);
-            }
-        }
+        UNIT_ASSERT_EXCEPTION(v.at(1) = 20, std::out_of_range);
     }
     }
 
 
     void TestPointer() {
     void TestPointer() {

+ 5 - 43
util/string/cast_ut.cpp

@@ -464,50 +464,12 @@ Y_UNIT_TEST_SUITE(TCastTest) {
         UNIT_ASSERT_VALUES_EQUAL(integer, wideCharacterCode);
         UNIT_ASSERT_VALUES_EQUAL(integer, wideCharacterCode);
     }
     }
 
 
-    static void CheckMessage(TFromStringException& exc, const TString& phrase) {
-        TString message = exc.what();
-        if (!message.Contains(phrase)) {
-            Cerr << message << Endl;
-            UNIT_ASSERT(false);
-        }
-    }
-
     Y_UNIT_TEST(ErrorMessages) {
     Y_UNIT_TEST(ErrorMessages) {
-        try {
-            FromString<ui32>("");
-            UNIT_ASSERT(false);
-        } catch (TFromStringException& e) {
-            CheckMessage(e, "empty string as number");
-        }
-
-        try {
-            FromString<ui32>("-");
-            UNIT_ASSERT(false);
-        } catch (TFromStringException& e) {
-            // Unsigned should have no sign at all, so - is not expected
-            CheckMessage(e, "Unexpected symbol \"-\" at pos 0 in string \"-\"");
-        }
-
-        try {
-            FromString<i32>("-");
-            UNIT_ASSERT(false);
-        } catch (TFromStringException& e) {
-            CheckMessage(e, "Cannot parse string \"-\" as number");
-        }
-
-        try {
-            FromString<i32>("+");
-            UNIT_ASSERT(false);
-        } catch (TFromStringException& e) {
-            CheckMessage(e, "Cannot parse string \"+\" as number");
-        }
-
-        try {
-            FromString<ui32>("0.328413745072");
-            UNIT_ASSERT(false);
-        } catch (TFromStringException& e) {
-            CheckMessage(e, "Unexpected symbol \".\" at pos 1 in string \"0.328413745072\"");
-        }
+        UNIT_ASSERT_EXCEPTION_CONTAINS(FromString<ui32>(""), TFromStringException, "empty string as number");
+        UNIT_ASSERT_EXCEPTION_CONTAINS(FromString<ui32>("-"), TFromStringException, "Unexpected symbol \"-\" at pos 0 in string \"-\"");
+        UNIT_ASSERT_EXCEPTION_CONTAINS(FromString<i32>("-"), TFromStringException, "Cannot parse string \"-\" as number");
+        UNIT_ASSERT_EXCEPTION_CONTAINS(FromString<i32>("+"), TFromStringException, "Cannot parse string \"+\" as number");
+        UNIT_ASSERT_EXCEPTION_CONTAINS(FromString<i32>("0.328413745072"), TFromStringException, "Unexpected symbol \".\" at pos 1 in string \"0.328413745072\"");
     }
     }
 
 
     Y_UNIT_TEST(TryStringBuf) {
     Y_UNIT_TEST(TryStringBuf) {