/// <summary> /// Based on the provided file name, returns a suitable IBoostTestRunner /// instance or null if none are available. /// </summary> /// <param name="identifier">The identifier which is to be executed via the IBoostTestRunner.</param> /// <param name="options">test runner settings</param> /// <returns>A suitable IBoostTestRunner instance or null if none are available.</returns> public IBoostTestRunner GetRunner(string identifier, BoostTestRunnerFactoryOptions options) { IBoostTestRunner runner = null; if ((options != null) && (options.ExternalTestRunnerSettings != null)) { // Provision an external test runner runner = GetExternalTestRunner(identifier, options.ExternalTestRunnerSettings); } // Provision a default internal runner if (runner == null) { runner = GetInternalTestRunner(identifier); } if (runner != null) { // Apply specific Boost 1.62 workaround if (GetBoost162Workaround(options)) { runner = new BoostTest162Runner(runner); } // Force the use of a specific Boost.Test runner implementation Version version = GetBoostTestVersion(identifier, options); if (version != null) { // Assume runner capabilities based on provided version var capabilities = new BoostTestRunnerCapabilities { ListContent = (version >= Boost159), Version = (version >= Boost163) }; runner = new BoostTestRunnerCapabilityOverride(runner, capabilities); } } return(runner); }
/// <summary> /// Based on the provided file name, returns a suitable IBoostTestRunner /// instance or null if none are available. /// </summary> /// <param name="identifier">The identifier which is to be executed via the IBoostTestRunner.</param> /// <param name="options">test runner settings</param> /// <returns>A suitable IBoostTestRunner instance or null if none are available.</returns> public IBoostTestRunner GetRunner(string identifier, BoostTestRunnerFactoryOptions options) { IBoostTestRunner runner = null; if ((options != null) && (options.ExternalTestRunnerSettings != null)) { // Provision an external test runner runner = GetExternalTestRunner(identifier, options.ExternalTestRunnerSettings); } // Provision a default internal runner if (runner == null) { runner = GetInternalTestRunner(identifier); } // Apply Boost 1.62 workaround if ((runner != null) && (options != null) && (options.UseBoost162Workaround)) { runner = new BoostTest162Runner(runner); } return runner; }
/// <summary> /// Based on the provided file name, returns a suitable IBoostTestRunner /// instance or null if none are available. /// </summary> /// <param name="identifier">The identifier which is to be executed via the IBoostTestRunner.</param> /// <param name="options">test runner settings</param> /// <returns>A suitable IBoostTestRunner instance or null if none are available.</returns> public IBoostTestRunner GetRunner(string identifier, BoostTestRunnerFactoryOptions options) { IBoostTestRunner runner = null; if ((options != null) && (options.ExternalTestRunnerSettings != null)) { // Provision an external test runner runner = GetExternalTestRunner(identifier, options.ExternalTestRunnerSettings); } // Provision a default internal runner if (runner == null) { runner = GetInternalTestRunner(identifier); } // Apply Boost 1.62 workaround if ((runner != null) && (options != null) && (options.UseBoost162Workaround)) { runner = new BoostTest162Runner(runner); } return(runner); }