apache / celix

Apache Celix is a framework for C and C++14 to develop dynamic modular software applications using component and in-process service-oriented programming.
https://celix.apache.org/
Apache License 2.0
158 stars 84 forks source link

Hotfix/shaky-framework-test-fix #744

Closed PengZheng closed 2 months ago

PengZheng commented 2 months ago

It use more reliable synchronization method to fix random test failure like the following:

https://github.com/apache/celix/actions/runs/8714109775/job/23903761534

/Users/runner/work/celix/celix/libs/framework/gtest/src/CelixFrameworkTestSuite.cc:113: Failure
Value of: celix_framework_isBundleActive(framework.get(), bndId)
  Actual: false
Expected: true
/Users/runner/work/celix/celix/libs/framework/gtest/src/CelixFrameworkTestSuite.cc:117: Failure
Value of: celix_framework_isBundleActive(framework.get(), bndId)
  Actual: false
Expected: true
Warning: 17T00:06:21] [warning] [celix_framework] [celix_framework_stopBundleInternal:2030] Cannot stop bundle, bundle state is INSTALLED
[  FAILED  ] CelixFrameworkTestSuite.AsyncInstallStartStopUpdateAndUninstallBundleTest (970 ms)