diff options
| author | vvvv <[email protected]> | 2025-10-10 16:31:33 +0300 |
|---|---|---|
| committer | vvvv <[email protected]> | 2025-10-10 17:08:12 +0300 |
| commit | 98f2ee1a36436bada54371eef656138d98dd40e0 (patch) | |
| tree | 3bb7cf502482258623b4d94721714612bd16c4de /yql/essentials/parser/pg_wrapper/ut/parser_ut.cpp | |
| parent | c62509aef170f46a8d9464bafa8b83bc293ebb63 (diff) | |
YQL-20086 invert flag
commit_hash:a6b640bc576263b62884a0b4187ba79c893e13d9
Diffstat (limited to 'yql/essentials/parser/pg_wrapper/ut/parser_ut.cpp')
| -rw-r--r-- | yql/essentials/parser/pg_wrapper/ut/parser_ut.cpp | 172 |
1 files changed, 86 insertions, 86 deletions
diff --git a/yql/essentials/parser/pg_wrapper/ut/parser_ut.cpp b/yql/essentials/parser/pg_wrapper/ut/parser_ut.cpp index 7f24550ec0a..55b36f84a49 100644 --- a/yql/essentials/parser/pg_wrapper/ut/parser_ut.cpp +++ b/yql/essentials/parser/pg_wrapper/ut/parser_ut.cpp @@ -6,7 +6,7 @@ using namespace NYql; -class TEvents : public IPGParseEvents { +class TEvents: public IPGParseEvents { public: void OnResult(const List* raw) override { Result = PrintPGTree(raw); @@ -21,114 +21,114 @@ public: }; const TStringBuf ExpectedSelect1 = "({RAWSTMT :stmt {SELECTSTMT :distinctClause <> :intoClause <> :targetList " - "({RESTARGET :name <> :indirection <> :val {A_CONST :val 1 :location 7} :location 7}) :fromClause <> :whereClause " - "<> :groupClause <> :groupDistinct false :havingClause <> :windowClause <> :valuesLists <> :sortClause <>" - " :limitOffset <> :limitCount <> :limitOption 0 :lockingClause <> :withClause <> :op 0 :all false :larg <> :rarg <>}" - " :stmt_location 0 :stmt_len 0})"; + "({RESTARGET :name <> :indirection <> :val {A_CONST :val 1 :location 7} :location 7}) :fromClause <> :whereClause " + "<> :groupClause <> :groupDistinct false :havingClause <> :windowClause <> :valuesLists <> :sortClause <>" + " :limitOffset <> :limitCount <> :limitOption 0 :lockingClause <> :withClause <> :op 0 :all false :larg <> :rarg <>}" + " :stmt_location 0 :stmt_len 0})"; const TString Error1 = "ERROR: syntax error at or near \"SELECT1\"\n"; Y_UNIT_TEST_SUITE(ParseTests) { - Y_UNIT_TEST(TestOk) { +Y_UNIT_TEST(TestOk) { + TEvents events; + PGParse(TString("SELECT 1"), events); + UNIT_ASSERT(events.Result); + UNIT_ASSERT(!events.Issue); + UNIT_ASSERT_NO_DIFF(*events.Result, ExpectedSelect1); +} + +Y_UNIT_TEST(TestFail) { + TEvents events; + PGParse(TString(" \n SELECT1"), events); + UNIT_ASSERT(!events.Result); + UNIT_ASSERT(events.Issue); + auto msg = events.Issue->GetMessage(); + UNIT_ASSERT_NO_DIFF(msg, Error1); + UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Row, 2); + UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Column, 3); +} + +Y_UNIT_TEST(TestErrorPosUtf8) { + { TEvents events; - PGParse(TString("SELECT 1"), events); - UNIT_ASSERT(events.Result); - UNIT_ASSERT(!events.Issue); - UNIT_ASSERT_NO_DIFF(*events.Result, ExpectedSelect1); + PGParse(TString("/* привет */SELECT1"), events); + UNIT_ASSERT(!events.Result); + UNIT_ASSERT(events.Issue); + auto msg = events.Issue->GetMessage(); + UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Row, 1); + UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Column, 13); } - Y_UNIT_TEST(TestFail) { + { TEvents events; - PGParse(TString(" \n SELECT1"), events); + PGParse(TString("/* привет */\n\nSELECT1"), events); UNIT_ASSERT(!events.Result); UNIT_ASSERT(events.Issue); auto msg = events.Issue->GetMessage(); UNIT_ASSERT_NO_DIFF(msg, Error1); - UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Row, 2); - UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Column, 3); - } - - Y_UNIT_TEST(TestErrorPosUtf8) { - { - TEvents events; - PGParse(TString("/* привет */SELECT1"), events); - UNIT_ASSERT(!events.Result); - UNIT_ASSERT(events.Issue); - auto msg = events.Issue->GetMessage(); - UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Row, 1); - UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Column, 13); - } - - { - TEvents events; - PGParse(TString("/* привет */\n\nSELECT1"), events); - UNIT_ASSERT(!events.Result); - UNIT_ASSERT(events.Issue); - auto msg = events.Issue->GetMessage(); - UNIT_ASSERT_NO_DIFF(msg, Error1); - UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Row, 3); - UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Column, 1); - } + UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Row, 3); + UNIT_ASSERT_VALUES_EQUAL(events.Issue->Position.Column, 1); } } +} // Y_UNIT_TEST_SUITE(ParseTests) const ui32 threadsCount = 10; Y_UNIT_TEST_SUITE(MTParseTests) { - Y_UNIT_TEST(TestOk) { - TVector<THolder<TThread>> threads; - for (ui32 i = 0; i < threadsCount; ++i) { - threads.emplace_back(MakeHolder<TThread>([]() { - ui32 iters = 10000; +Y_UNIT_TEST(TestOk) { + TVector<THolder<TThread>> threads; + for (ui32 i = 0; i < threadsCount; ++i) { + threads.emplace_back(MakeHolder<TThread>([]() { + ui32 iters = 10000; #if defined(_san_enabled_) - iters /= 100; + iters /= 100; #endif - for (ui32 i = 0; i < iters; ++i) { - TEvents events; - PGParse(TString("SELECT 1"), events); - Y_ENSURE(events.Result); - Y_ENSURE(!events.Issue); - Y_ENSURE(*events.Result == ExpectedSelect1); - } - })); - } - - for (ui32 i = 0; i < threadsCount; ++i) { - threads[i]->Start(); - } - - for (ui32 i = 0; i < threadsCount; ++i) { - threads[i]->Join(); - } + for (ui32 i = 0; i < iters; ++i) { + TEvents events; + PGParse(TString("SELECT 1"), events); + Y_ENSURE(events.Result); + Y_ENSURE(!events.Issue); + Y_ENSURE(*events.Result == ExpectedSelect1); + } + })); } - Y_UNIT_TEST(TestFail) { - TVector<THolder<TThread>> threads; - for (ui32 i = 0; i < threadsCount; ++i) { - threads.emplace_back(MakeHolder<TThread>([]() { - ui32 iters = 10000; + for (ui32 i = 0; i < threadsCount; ++i) { + threads[i]->Start(); + } + + for (ui32 i = 0; i < threadsCount; ++i) { + threads[i]->Join(); + } +} + +Y_UNIT_TEST(TestFail) { + TVector<THolder<TThread>> threads; + for (ui32 i = 0; i < threadsCount; ++i) { + threads.emplace_back(MakeHolder<TThread>([]() { + ui32 iters = 10000; #if defined(_san_enabled_) - iters /= 100; + iters /= 100; #endif - for (ui32 i = 0; i < iters; ++i) { - TEvents events; - PGParse(TString(" \n SELECT1"), events); - Y_ENSURE(!events.Result); - Y_ENSURE(events.Issue); - auto msg = events.Issue->GetMessage(); - Y_ENSURE(msg == Error1); - Y_ENSURE(events.Issue->Position.Row == 2); - Y_ENSURE(events.Issue->Position.Column == 3); - } - })); - } - - for (ui32 i = 0; i < threadsCount; ++i) { - threads[i]->Start(); - } - - for (ui32 i = 0; i < threadsCount; ++i) { - threads[i]->Join(); - } + for (ui32 i = 0; i < iters; ++i) { + TEvents events; + PGParse(TString(" \n SELECT1"), events); + Y_ENSURE(!events.Result); + Y_ENSURE(events.Issue); + auto msg = events.Issue->GetMessage(); + Y_ENSURE(msg == Error1); + Y_ENSURE(events.Issue->Position.Row == 2); + Y_ENSURE(events.Issue->Position.Column == 3); + } + })); + } + + for (ui32 i = 0; i < threadsCount; ++i) { + threads[i]->Start(); + } + + for (ui32 i = 0; i < threadsCount; ++i) { + threads[i]->Join(); } } +} // Y_UNIT_TEST_SUITE(MTParseTests) |
