From b05ab59b048764bd373f7624ce7fde4cb0fb30df Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Wed, 25 Oct 2023 20:55:25 +0200 Subject: [PATCH] TST: update tests for server release 0.12.0 --- test/test_async.cpp | 18 ++++++++++++------ test/test_select.cpp | 4 +--- test/test_transaction.cpp | 2 -- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/test/test_async.cpp b/test/test_async.cpp index c804986..bf437f6 100644 --- a/test/test_async.cpp +++ b/test/test_async.cpp @@ -53,13 +53,19 @@ TEST(test_async, retrieve_non_existing) { auto status = transaction->GetStatus(); EXPECT_EQ(status.GetCode(), StatusCode::EXECUTING); - // wait some time - std::this_thread::sleep_for(1000ms); + // 1000ms are not always sufficient, when there is very high pipeline load. + auto count = 1000; + auto code = transaction->GetStatus().GetCode(); + do { + // wait some time + std::this_thread::sleep_for(10ms); - // DONT call WaitForIt -> the transaction finishes in the back-ground - status = transaction->GetStatus(); - EXPECT_EQ(status.GetCode(), TransactionStatus::TRANSACTION_ERROR().GetCode()); - ASSERT_EQ(status.GetCode(), StatusCode::GENERIC_TRANSACTION_ERROR); + // DONT call WaitForIt -> the transaction finishes in the background + code = transaction->GetStatus().GetCode(); + } while (--count > 0 && code == StatusCode::EXECUTING); + ASSERT_GT(count, 0) << "ERROR: Timeout while waiting for transaction."; + EXPECT_EQ(code, TransactionStatus::TRANSACTION_ERROR().GetCode()); + ASSERT_EQ(code, StatusCode::GENERIC_TRANSACTION_ERROR); const auto &result_set = transaction->GetResultSet(); diff --git a/test/test_select.cpp b/test/test_select.cpp index f880954..fa63eef 100644 --- a/test/test_select.cpp +++ b/test/test_select.cpp @@ -363,9 +363,7 @@ TEST_F(test_select, test_select_property_unit) { EXPECT_EQ(query_transaction->GetResultTable().size(), 1); for (const auto &row : query_transaction->GetResultTable().GetRows()) { - // Fails due to https://gitlab.indiscale.com/caosdb/src/caosdb-server/-/issues/264 - EXPECT_NONFATAL_FAILURE({ EXPECT_EQ(row.GetValue("TestPropDouble.unit").GetAsString(), "m"); }, - "TestPropDouble.unit"); + EXPECT_EQ(row.GetValue("TestPropDouble.unit").GetAsString(), "m"); } } diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index aff1c6e..2b1be4c 100644 --- a/test/test_transaction.cpp +++ b/test/test_transaction.cpp @@ -1342,11 +1342,9 @@ TEST_F(test_transaction, test_delete_string_id) { EXPECT_TRUE(transaction->GetStatus().IsTerminated()); EXPECT_TRUE(transaction->GetStatus().IsError()); const auto &results = transaction->GetResultSet(); - EXPECT_FALSE(results.at(0).HasErrors()); EXPECT_TRUE(results.at(1).HasErrors()); EXPECT_EQ(results.at(1).GetErrors().size(), 1); EXPECT_EQ(results.at(1).GetErrors().at(0).GetDescription(), "Entity does not exist."); - EXPECT_FALSE(results.at(2).HasErrors()); } } // namespace caosdb::transaction -- GitLab