Skip to content

Commit 4153b50

Browse files
committed
Fix RenderingIface_TEST for ogre2 when there is no display
Signed-off-by: Ian Chen <[email protected]>
1 parent 84c748e commit 4153b50

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

src/RenderEngineManager.cc

+12
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,18 @@ void RenderEngineManager::UnregisterEngine(const std::string &_name)
302302
std::lock_guard<std::recursive_mutex> lock(this->dataPtr->enginesMutex);
303303
auto iter = this->dataPtr->engines.find(_name);
304304

305+
if (iter == this->dataPtr->engines.end())
306+
{
307+
// Check if the provided name is a name of a default engine, if so,
308+
// translate the name to the shared library name
309+
auto defaultIt = this->dataPtr->defaultEngines.find(_name);
310+
if (defaultIt != this->dataPtr->defaultEngines.end())
311+
iter = this->dataPtr->engines.find(defaultIt->second);
312+
313+
if (iter == this->dataPtr->engines.end())
314+
gzerr << "No render-engine registered with name: " << _name << std::endl;
315+
}
316+
305317
if (iter != this->dataPtr->engines.end())
306318
{
307319
this->dataPtr->UnregisterEngine(iter);

test/common_test/RenderingIface_TEST.cc

+8-3
Original file line numberDiff line numberDiff line change
@@ -122,14 +122,19 @@ TEST(RenderingIfaceTest, RegisterEngine)
122122
if (count == 0)
123123
return;
124124

125-
// unregister existing engine by index
126-
RenderEngine *eng = engine(0u);
125+
RenderEngine *eng = nullptr;
126+
std::string engineToTest = "";
127+
if (gz::utils::env(kEngineToTestEnv, engineToTest))
128+
eng = engine(engineToTest);
129+
else
130+
eng = engine(0u);
131+
127132
ASSERT_NE(nullptr, eng);
128133
auto engineName = eng->Name();
129134
ASSERT_FALSE(engineName.empty());
130135

131136
EXPECT_TRUE(hasEngine(engineName));
132-
EXPECT_NO_THROW(unregisterEngine(0u));
137+
EXPECT_NO_THROW(unregisterEngine(engineName));
133138
EXPECT_FALSE(hasEngine(engineName));
134139

135140
// register engine back with a different name

0 commit comments

Comments
 (0)