diff --git a/src/plugins/autotest/ctest/ctesttreeitem.cpp b/src/plugins/autotest/ctest/ctesttreeitem.cpp index 25e7ad44f14..382241b8805 100644 --- a/src/plugins/autotest/ctest/ctesttreeitem.cpp +++ b/src/plugins/autotest/ctest/ctesttreeitem.cpp @@ -32,6 +32,7 @@ #include "../testsettings.h" #include +#include #include #include #include @@ -115,13 +116,17 @@ QList CTestTreeItem::testConfigurationsFor(const QStringLi CTestConfiguration *config = new CTestConfiguration(testBase()); config->setProject(project); config->setCommandLine(command); - const QList buildConfigs = target->buildConfigurations(); - if (QTC_GUARD(!buildConfigs.isEmpty())) { - config->setEnvironment(buildConfigs.first()->environment()); - config->setWorkingDirectory(buildConfigs.first()->buildDirectory().toString()); - } else { - config->setEnvironment(Utils::Environment::systemEnvironment()); + const ProjectExplorer::RunConfiguration *runConfig = target->activeRunConfiguration(); + if (QTC_GUARD(runConfig)) { + if (auto envAspect = runConfig->aspect()) + config->setEnvironment(envAspect->environment()); + else + config->setEnvironment(Utils::Environment::systemEnvironment()); } + const ProjectExplorer::BuildConfiguration *buildConfig = target->activeBuildConfiguration(); + if (QTC_GUARD(buildConfig)) + config->setWorkingDirectory(buildConfig->buildDirectory().toString()); + if (selected.isEmpty()) config->setTestCaseCount(testBase()->asTestTool()->rootNode()->childCount()); else