diff options
author | Kevin Rocard <kevinx.rocard@intel.com> | 2013-07-10 18:28:10 +0200 |
---|---|---|
committer | David Wagner <david.wagner@intel.com> | 2014-02-12 17:04:07 +0100 |
commit | 2448cf71ad24cbbcbbc89cc7522c431413617692 (patch) | |
tree | 56a55410b668052dffe57b876082a9c0a163d545 /test/test-platform/TestPlatform.cpp | |
parent | ecf9310061f47da0fd9f3d604e8b20f4fcb5749c (diff) | |
download | external_parameter-framework-2448cf71ad24cbbcbbc89cc7522c431413617692.zip external_parameter-framework-2448cf71ad24cbbcbbc89cc7522c431413617692.tar.gz external_parameter-framework-2448cf71ad24cbbcbbc89cc7522c431413617692.tar.bz2 |
Add a command to set missing subsystem policy
BZ: 122982
When the PFW starts, it loads subsystems using their corresponding
plugins. If a requested plugin is not found, the start fails. This is a
problem, as for host, plugins are not compiled.
Add a command in test platform to use the feature continue
load on missing subsystem.
Change-Id: Ib533123683b860bfbe0fea069f4bb3c1cc1ef2d0
Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
Reviewed-on: http://android.intel.com:8080/119305
Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com>
Tested-by: Barthes, FabienX <fabienx.barthes@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
Diffstat (limited to 'test/test-platform/TestPlatform.cpp')
-rw-r--r-- | test/test-platform/TestPlatform.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/test-platform/TestPlatform.cpp b/test/test-platform/TestPlatform.cpp index 91b86fd..0eaa261 100644 --- a/test/test-platform/TestPlatform.cpp +++ b/test/test-platform/TestPlatform.cpp @@ -28,6 +28,7 @@ #include <sstream> #include <assert.h> #include <errno.h> +#include <convert.hpp> #include "TestPlatform.h" #include "ParameterMgrPlatformConnector.h" #include "RemoteProcessorServer.h" @@ -63,9 +64,19 @@ CTestPlatform::CTestPlatform(const string& strClass, int iPortNumber) : _pCommandHandler->addCommandParser("createInclusiveSelectionCriterion", &CTestPlatform::createInclusiveSelectionCriterionCommandProcess, 2, "<name> <nbStates>", "Create exclusive selection criterion"); _pCommandHandler->addCommandParser("start", &CTestPlatform::startParameterMgrCommandProcess, 0, "", "Start ParameterMgr"); + _pCommandHandler->addCommandParser("setCriterionState", &CTestPlatform::setCriterionStateCommandProcess, 2, "<name> <state>", "Set the current state of a selection criterion"); _pCommandHandler->addCommandParser("applyConfigurations", &CTestPlatform::applyConfigurationsCommandProcess, 0, "", "Apply configurations selected by current selection criteria states"); + _pCommandHandler->addCommandParser("setFailureOnMissingSubsystem", + &CTestPlatform::setFailureOnMissingSubsystemCommandProcess, + 1, "true|false", "Set policy for missing subsystems, " + "either abort start or fallback on virtual subsystem"); + _pCommandHandler->addCommandParser("getMissingSubsystemPolicy", + &CTestPlatform::getFailureOnMissingSubsystemCommandProcess, + 0, "", "Get policy for missing subsystems, " + "either abort start or fallback on virtual subsystem"); + // Create server _pRemoteProcessorServer = new CRemoteProcessorServer(iPortNumber, _pCommandHandler); @@ -127,6 +138,35 @@ CTestPlatform::CCommandHandler::CommandStatus CTestPlatform::startParameterMgrCo CTestPlatform::CCommandHandler::EDone : CTestPlatform::CCommandHandler::EFailed; } +CTestPlatform::CCommandHandler::CommandStatus + CTestPlatform::setFailureOnMissingSubsystemCommandProcess( + const IRemoteCommand& remoteCommand, string& strResult) +{ + const string& strAbort = remoteCommand.getArgument(0); + + bool bFail; + + if(!audio_comms::utilities::convertTo(strAbort, bFail)) { + return CTestPlatform::CCommandHandler::EShowUsage; + } + + return _pParameterMgrPlatformConnector->setFailureOnMissingSubsystem(bFail, strResult) ? + CTestPlatform::CCommandHandler::EDone : CTestPlatform::CCommandHandler::EFailed; +} + +CTestPlatform::CCommandHandler::CommandStatus + CTestPlatform::getFailureOnMissingSubsystemCommandProcess( + const IRemoteCommand& remoteCommand, string& strResult) +{ + (void)remoteCommand; + (void)strResult; + + strResult = _pParameterMgrPlatformConnector->getFailureOnMissingSubsystem() ? + "true":"false"; + + return CTestPlatform::CCommandHandler::EDone; +} + CTestPlatform::CCommandHandler::CommandStatus CTestPlatform::setCriterionStateCommandProcess(const IRemoteCommand& remoteCommand, string& strResult) { |