Skip to content
Snippets Groups Projects
Verified Commit fc7ca363 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

Merge branch 'f-external-ids' into f-string-ids

parents 3f6fe836 7ad66ccb
No related branches found
No related tags found
1 merge request!31Draft: Update tests for string ids
Pipeline #42389 failed
......@@ -15,7 +15,8 @@ RUN rm -rf .git
COPY .docker/caosdb-client.json /caosdb-client.json
# build and run tests
# Build and run tests.
# If no other command is given to the Docker image
CMD mkdir build && \
cd build && \
conan install .. -s "compiler.libcxx=libstdc++11" && \
......
......@@ -78,16 +78,12 @@ build-testenv: &build-testenv
stage: setup
timeout: 2h
needs: []
only:
- pipelines
- schedules
- web
script:
- *env
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
#build testenv image
- docker pull $CPPLIB_REGISTRY_IMAGE || { CPPLIB_REGISTRY_IMAGE="$CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:dev" ; docker pull $CPPLIB_REGISTRY_IMAGE ; }
- docker pull $CPPLIB_REGISTRY_IMAGE || { CPPLIB_REGISTRY_IMAGE="$CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:dev" ; echo "Using cpplib@dev instead."; docker pull $CPPLIB_REGISTRY_IMAGE ; }
- docker build
--build-arg CPPLIB_REGISTRY_IMAGE=$CPPLIB_REGISTRY_IMAGE
--file .docker/Dockerfile
......
......@@ -19,4 +19,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
* Fixed failing async test.
### Security
......@@ -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();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment