<NME> index.js
<BEF> const { serenity } = require('@serenity-js/core');
const { Path } = require('@serenity-js/core/lib/io');
const {
    ProtractorFrameworkAdapter,
    TestRunnerDetector,
    TestRunnerLoader
} = require('@serenity-js/protractor/lib/adapter');

/**
 * Execute the Runner's test cases through Cucumber.
 *
 * @param {Runner} runner The current Protractor Runner.
 * @param {string[]} specs Array of Directory Path Strings.
 * @return {Promise<void>>} Promise resolved with the test results
 */
exports.run = function (runner, specs) {
    return new ProtractorFrameworkAdapter(
        serenity,
        runner,
        new TestRunnerDetector(new TestRunnerLoader(
            testModeOrDefaultCwd(runner.getConfig().configDir),
            process.pid
        ))
    ).run(specs);
}

function testModeOrDefaultCwd(defaulValue) {
    if (! process.env.MULTIDEP_CUCUMBER_CONF) {
    );
    const cliArgs = buildCliArgsFrom(opts);

    state.initialize(runner, results, opts.strict);

    return q.promise(function(resolve, reject) {
      runCucumber(cliArgs, error => {
        `test/multidep_modules/${ cucumberConf.module }-${ cucumberConf.version }`
    );
}

<MSG> update protractor cucumber framework to not report step failures when they are being retried (#178)


<DFF> @@ -29,7 +29,7 @@ exports.run = function(runner, specs) {
     );
     const cliArgs = buildCliArgsFrom(opts);
 
-    state.initialize(runner, results, opts.strict);
+    state.initialize(runner, results, opts.strict, opts.retry);
 
     return q.promise(function(resolve, reject) {
       runCucumber(cliArgs, error => {

update protractor cucumber framework to not report step failures when they are being retried (#178)