Skip QResourceEngine cleanupTestCase on VxWorks
COIN is using patched std::optional header for VxWorks, which is based on 23.09 version of this system, and fixes few compilation and runtime issues, unfortunately it introduced runtime error as well. This error causes std::optional to not destroy contained object in destructor, which is a source of fail in tst_QResourceEngine::cleanupTestCase(). This fail was quieted down using QEXPECT_FAIL for VxWorks, due to exact reason being unknown at the time. It was found out that unpatched version of std::optional header in VxWorks 24.03 fixes most of issues found in 23.09, so there is no need to use old header. Additionally it cleans contained object in destructor properly, so this is the one that should be used. In order to use it, COIN will need to refresh VxWorks images, but this in turn will fail this test with XFAIL. Replace QEXPECT_FAIL with QSKIP in tst_QResourceEngine::cleanupTestCase for VxWorks, update comment accordngly. Once unpatched optional version from VxWorks 24.03 will be used on COIN, skip will be removed entirely. Task-number: QTBUG-130069 Change-Id: Ib446d04b2fabb027dad7af909ac00b7b30e76b53 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit a10acaca0887541207ad5607680d7864d317cf4b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
c465681a86
commit
1a98e24d0c
@ -92,11 +92,9 @@ void tst_QResourceEngine::initTestCase()
|
||||
void tst_QResourceEngine::cleanupTestCase()
|
||||
{
|
||||
#if defined(Q_OS_VXWORKS)
|
||||
// This fails for not yet known reason: resource `m_runtimeResourceRcc` exists, but its failed
|
||||
// to be removed due to refernce count of QDynamicFileResourceRoot instance equals to 46
|
||||
// (regardless of how many test cases were executed), which causes
|
||||
// `QResource::unregisterResource` to remove false.
|
||||
QEXPECT_FAIL("", "QTBUG-130069: reference count of resource isn't getting down to 0", Abort);
|
||||
// Due to bug in patched std::optional on VxWorks, which is not running destructor for contained object, this tests leaks memory.
|
||||
// Once unpatched optional version from VxWorks 24.03 will be used on CI, below skip will be removed.
|
||||
QSKIP("QTBUG-130069: reference count of resource isn't getting down to 0");
|
||||
#endif
|
||||
// make sure we don't leak memory
|
||||
QVERIFY(QResource::unregisterResource(m_runtimeResourceRcc));
|
||||
|
Loading…
x
Reference in New Issue
Block a user