Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • caosdb/src/caosdb-cppinttest
1 result
Show changes
Commits on Source (8)
...@@ -15,7 +15,8 @@ RUN rm -rf .git ...@@ -15,7 +15,8 @@ RUN rm -rf .git
COPY .docker/caosdb-client.json /caosdb-client.json 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 && \ CMD mkdir build && \
cd build && \ cd build && \
conan install .. -s "compiler.libcxx=libstdc++11" && \ conan install .. -s "compiler.libcxx=libstdc++11" && \
......
...@@ -78,16 +78,12 @@ build-testenv: &build-testenv ...@@ -78,16 +78,12 @@ build-testenv: &build-testenv
stage: setup stage: setup
timeout: 2h timeout: 2h
needs: [] needs: []
only:
- pipelines
- schedules
- web
script: script:
- *env - *env
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
#build testenv image #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 - docker build
--build-arg CPPLIB_REGISTRY_IMAGE=$CPPLIB_REGISTRY_IMAGE --build-arg CPPLIB_REGISTRY_IMAGE=$CPPLIB_REGISTRY_IMAGE
--file .docker/Dockerfile --file .docker/Dockerfile
......
...@@ -19,4 +19,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ...@@ -19,4 +19,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed ### Fixed
* Fixed failing async test.
### Security ### Security
...@@ -53,13 +53,19 @@ TEST(test_async, retrieve_non_existing) { ...@@ -53,13 +53,19 @@ TEST(test_async, retrieve_non_existing) {
auto status = transaction->GetStatus(); auto status = transaction->GetStatus();
EXPECT_EQ(status.GetCode(), StatusCode::EXECUTING); EXPECT_EQ(status.GetCode(), StatusCode::EXECUTING);
// wait some time // 1000ms are not always sufficient, when there is very high pipeline load.
std::this_thread::sleep_for(1000ms); 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 // DONT call WaitForIt -> the transaction finishes in the background
status = transaction->GetStatus(); code = transaction->GetStatus().GetCode();
EXPECT_EQ(status.GetCode(), TransactionStatus::TRANSACTION_ERROR().GetCode()); } while (--count > 0 && code == StatusCode::EXECUTING);
ASSERT_EQ(status.GetCode(), StatusCode::GENERIC_TRANSACTION_ERROR); 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(); const auto &result_set = transaction->GetResultSet();
......