wdio-rerun-service 1.7.7 → 1.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,68 @@
1
+ name: Manual NPM Publish
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ releaseType:
7
+ description: "Release type - major, minor or patch"
8
+ required: true
9
+ type: choice
10
+ default: "patch"
11
+ options:
12
+ - patch
13
+ - minor
14
+ - major
15
+ distTag:
16
+ description: 'NPM tag (e.g. use "next --preRelease=alpha --github.preRelease" to release a test version)'
17
+ required: true
18
+ default: 'latest'
19
+ preRelease:
20
+ description: If latest release was a pre-release (e.g. X.X.X-alpha.0) and you want to push another one, pick "yes"
21
+ required: true
22
+ type: choice
23
+ default: "no"
24
+ options:
25
+ - "yes"
26
+ - "no"
27
+
28
+ env:
29
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
30
+
31
+ jobs:
32
+ release:
33
+ runs-on: ubuntu-latest
34
+ steps:
35
+ - uses: actions/checkout@v3
36
+ with:
37
+ ref: v7
38
+ fetch-depth: 0
39
+ - uses: actions/setup-node@v3
40
+ with:
41
+ node-version: 18.x
42
+ - name: NPM Setup
43
+ run: |
44
+ npm set registry "https://registry.npmjs.org/"
45
+ npm set //registry.npmjs.org/:_authToken $NPM_TOKEN
46
+ npm whoami
47
+ - name: Git Setup
48
+ run: |
49
+ git config --global user.email "bot@webdriver.io"
50
+ git config --global user.name "WebdriverIO Release Bot"
51
+ - name: Install Dependencies
52
+ run: npm ci --ignore-scripts
53
+ - name: Build Project
54
+ run: npm run build --if-present
55
+ env:
56
+ NODE_ENV: production
57
+ - name: Release
58
+ run: npx release-it ${{github.event.inputs.releaseType}} --github.release --ci --npm.skipChecks --no-git.requireCleanWorkingDir --npm.tag=${{github.event.inputs.distTag}}
59
+ env:
60
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
61
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62
+ if: ${{ github.event.inputs.preRelease == 'no' }}
63
+ - name: Pre-Release
64
+ run: npx release-it ${{github.event.inputs.releaseType}} --github.release --ci --npm.skipChecks --no-git.requireCleanWorkingDir --preRelease=alpha --github.preRelease --npm.tag=next
65
+ env:
66
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
67
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68
+ if: ${{ github.event.inputs.preRelease == 'yes' }}
@@ -1,52 +1,56 @@
1
1
  # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2
2
  # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3
3
 
4
- name: wdio-rerun-service CI
4
+ name: Test
5
5
 
6
6
  on:
7
7
  push:
8
8
  branches:
9
- - master
10
9
  - main
11
10
  - v7
12
11
  - lts
13
12
  pull_request:
14
13
  branches:
15
- - master
16
14
  - main
17
15
  - v7
18
16
  - lts
17
+
18
+ permissions:
19
+ contents: read # to fetch code (actions/checkout)
20
+
19
21
  jobs:
20
22
  build:
21
23
  runs-on: ubuntu-latest
22
24
  strategy:
23
25
  matrix:
24
- node-version: [12.x, 13.x, 14.x]
25
- # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
26
+ node-version: [16.x, 18.x]
26
27
  steps:
27
- - uses: actions/checkout@v2
28
+ - uses: actions/checkout@v3
28
29
  - name: Use Node.js ${{ matrix.node-version }}
29
- uses: actions/setup-node@v1
30
+ uses: actions/setup-node@v3
30
31
  with:
31
32
  node-version: ${{ matrix.node-version }}
32
- - run: npm ci
33
- - run: npm install -g eslint
33
+ - run: npm i -g npm@latest
34
+ - run: npm ci --ignore-scripts
34
35
  - run: npm run build --if-present
35
- - run: npm run test
36
-
36
+ - run: npm test
37
+ env:
38
+ CI: true
39
+
37
40
  build-windows:
38
41
  runs-on: windows-latest
39
42
  strategy:
40
43
  matrix:
41
- node-version: [12.x]
42
- # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
44
+ node-version: [16.x]
43
45
  steps:
44
- - uses: actions/checkout@v2
46
+ - uses: actions/checkout@v3
45
47
  - name: Use Node.js ${{ matrix.node-version }}
46
- uses: actions/setup-node@v1
48
+ uses: actions/setup-node@v3
47
49
  with:
48
50
  node-version: ${{ matrix.node-version }}
49
- - run: npm ci
50
- - run: npm install -g eslint
51
+ - run: npm i -g npm@latest
52
+ - run: npm ci --ignore-scripts
51
53
  - run: npm run build --if-present
52
- - run: npm run test
54
+ - run: npm test
55
+ env:
56
+ CI: true
@@ -0,0 +1,30 @@
1
+ # this workflow merges requests from Dependabot if tests are passing
2
+ name: Merge me!
3
+
4
+ on:
5
+ workflow_run:
6
+ workflows:
7
+ - Test
8
+ types:
9
+ - completed
10
+
11
+ jobs:
12
+ merge-me:
13
+ name: Merge me!
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Merge me!
17
+ if: ${{ github.event.workflow_run.conclusion == 'success' }}
18
+ uses: ridedott/merge-me-action@v2
19
+ with:
20
+ # Depending on branch prodtection rules, a manually populated
21
+ # `GITHUB_TOKEN_WORKAROUND` secret with permissions to push to
22
+ # a protected branch must be used.
23
+ #
24
+ # When using a custom token, it is recommended to leave the following
25
+ # comment for other developers to be aware of the reasoning behind it:
26
+ #
27
+ # This must be used as GitHub Actions token does not support pushing
28
+ # to protected branches.
29
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30
+ PRESET: DEPENDABOT_MINOR
package/CHANGELOG.md CHANGED
@@ -11,6 +11,17 @@
11
11
 
12
12
  _Note: Gaps between patch versions are faulty, broken or test releases._
13
13
 
14
+ ## v1.7.8 (2023-01-18)
15
+ #### :bug: Bug Fix
16
+ * Service release; no new features/fixes
17
+
18
+ ## v1.7.7 (2023-01-18)
19
+ #### :bug: Bug Fix
20
+ * [[#53]](https://github.com/webdriverio-community/wdio-rerun-service/pull/53) Generate failure line number at Example data line rather than the Scenario Outline line ([@wenzhhu](https://github.com/wenzhhu))
21
+
22
+ #### Committers: 1
23
+ - [@wenzhhu](https://github.com/wenzhhu)
24
+
14
25
  ---
15
26
  ## v1.7.6 (2022-09-13)
16
27
  #### :bug: Bug Fix
package/README.md CHANGED
@@ -32,7 +32,7 @@ The easiest way is to add `wdio-rerun-service` to `devDependencies` in your `pac
32
32
  ```json
33
33
  {
34
34
  "devDependencies": {
35
- "wdio-rerun-service": "^1.7.6"
35
+ "wdio-rerun-service": "^1.7.8"
36
36
  }
37
37
  }
38
38
  ```
package/build/index.js CHANGED
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("source-map-support/register");
4
-
5
3
  const fs = require('fs');
6
4
 
7
5
  const path = require('path');
@@ -17,14 +15,16 @@ class RerunService {
17
15
  ignoredTags,
18
16
  rerunDataDir,
19
17
  rerunScriptPath,
20
- commandPrefix
18
+ commandPrefix,
19
+ customParameters
21
20
  } = {}) {
22
21
  this.nonPassingItems = [];
23
22
  this.serviceWorkerId;
24
- this.ignoredTags = ignoredTags ? ignoredTags : [];
25
- this.rerunDataDir = rerunDataDir ? rerunDataDir : "./results/rerun";
26
- this.rerunScriptPath = rerunScriptPath ? rerunScriptPath : "./rerun.sh";
27
- this.commandPrefix = commandPrefix ? commandPrefix : "";
23
+ this.ignoredTags = ignoredTags || [];
24
+ this.rerunDataDir = rerunDataDir || "./results/rerun";
25
+ this.rerunScriptPath = rerunScriptPath || "./rerun.sh";
26
+ this.commandPrefix = commandPrefix || "";
27
+ this.customParameters = customParameters || "";
28
28
  this.specFile = "";
29
29
  }
30
30
 
@@ -53,20 +53,35 @@ class RerunService {
53
53
  }
54
54
  }
55
55
 
56
- afterScenario(world) {
57
- const status = world.result.status;
58
- const scenarioLineNumber = world.gherkinDocument.feature.children.filter(child => {
56
+ afterScenario(world, result, context) {
57
+ const CUCUMBER_STATUS_MAP = ['UNKNOWN', 'PASSED', 'SKIPPED', 'PENDING', 'UNDEFINED', 'AMBIGUOUS', 'FAILED'];
58
+ const status = typeof world.result.status === 'number' ? CUCUMBER_STATUS_MAP[world.result.status || 0] : world.result.status;
59
+ const scenario = world.gherkinDocument.feature.children.filter(child => {
59
60
  if (child.scenario) {
60
61
  return child.scenario && world.pickle.astNodeIds.includes(child.scenario.id.toString());
61
62
  }
62
- })[0].scenario.location.line;
63
+ })[0].scenario;
64
+ let scenarioLineNumber = scenario.location.line;
65
+
66
+ if (scenario.examples && scenario.examples.length > 0) {
67
+ let exampleLineNumber = 0;
68
+ scenario.examples.find(example => example.tableBody.find(row => {
69
+ if (row.id === world.pickle.astNodeIds[1]) {
70
+ exampleLineNumber = row.location.line;
71
+ return true;
72
+ } else {
73
+ return false;
74
+ }
75
+ }));
76
+ scenarioLineNumber = exampleLineNumber;
77
+ }
63
78
 
64
79
  if (browser.config.framework === 'cucumber' && status !== 'PASSED' && status !== 'SKIPPED') {
65
80
  const scenarioLocation = `${world.pickle.uri}:${scenarioLineNumber}`;
66
81
  const tagsList = world.pickle.tags.map(tag => tag.name);
67
82
  const service = this;
68
83
 
69
- if (this.ignoredTags && tagsList.some(ignoredTag => service.ignoredTags.includes(ignoredTag))) {} else {
84
+ if (this.ignoredTags && !tagsList.some(ignoredTag => service.ignoredTags.includes(ignoredTag))) {
70
85
  this.nonPassingItems.push({
71
86
  location: scenarioLocation,
72
87
  failure: world.result.message
@@ -88,12 +103,7 @@ class RerunService {
88
103
  const rerunFiles = fs.readdirSync(directoryPath);
89
104
 
90
105
  if (rerunFiles.length > 0) {
91
- let rerunCommand = `DISABLE_RERUN=true node_modules/.bin/wdio ${argv._[0]} `;
92
-
93
- if (this.commandPrefix) {
94
- rerunCommand = `${this.commandPrefix} ${rerunCommand}`;
95
- }
96
-
106
+ let rerunCommand = `${this.commandPrefix} DISABLE_RERUN=true node_modules/.bin/wdio ${argv._[0]} ${this.customParameters} `;
97
107
  let failureLocations = [];
98
108
  rerunFiles.forEach(file => {
99
109
  const json = JSON.parse(fs.readFileSync(`${this.rerunDataDir}/${file}`));
@@ -113,5 +123,4 @@ class RerunService {
113
123
  }
114
124
 
115
125
  ;
116
- module.exports = RerunService;
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJmcyIsInJlcXVpcmUiLCJwYXRoIiwidjUiLCJ1dWlkdjUiLCJhcmd2IiwicHJvY2VzcyIsInNsaWNlIiwiUmVydW5TZXJ2aWNlIiwiY29uc3RydWN0b3IiLCJpZ25vcmVkVGFncyIsInJlcnVuRGF0YURpciIsInJlcnVuU2NyaXB0UGF0aCIsImNvbW1hbmRQcmVmaXgiLCJub25QYXNzaW5nSXRlbXMiLCJzZXJ2aWNlV29ya2VySWQiLCJzcGVjRmlsZSIsImJlZm9yZSIsImNhcGFiaWxpdGllcyIsInNwZWNzIiwibWtkaXJTeW5jIiwicmVjdXJzaXZlIiwiRGF0ZSIsIm5vdyIsImFmdGVyVGVzdCIsInRlc3QiLCJjb250ZXh0IiwiZXJyb3IiLCJyZXN1bHQiLCJkdXJhdGlvbiIsInBhc3NlZCIsInJldHJpZXMiLCJicm93c2VyIiwiY29uZmlnIiwiZnJhbWV3b3JrIiwibWVzc2FnZSIsInB1c2giLCJsb2NhdGlvbiIsImZhaWx1cmUiLCJhZnRlclNjZW5hcmlvIiwid29ybGQiLCJzdGF0dXMiLCJzY2VuYXJpb0xpbmVOdW1iZXIiLCJnaGVya2luRG9jdW1lbnQiLCJmZWF0dXJlIiwiY2hpbGRyZW4iLCJmaWx0ZXIiLCJjaGlsZCIsInNjZW5hcmlvIiwicGlja2xlIiwiYXN0Tm9kZUlkcyIsImluY2x1ZGVzIiwiaWQiLCJ0b1N0cmluZyIsImxpbmUiLCJzY2VuYXJpb0xvY2F0aW9uIiwidXJpIiwidGFnc0xpc3QiLCJ0YWdzIiwibWFwIiwidGFnIiwibmFtZSIsInNlcnZpY2UiLCJzb21lIiwiaWdub3JlZFRhZyIsImFmdGVyIiwibGVuZ3RoIiwid3JpdGVGaWxlU3luYyIsIkpTT04iLCJzdHJpbmdpZnkiLCJvbkNvbXBsZXRlIiwiZXhpdENvZGUiLCJyZXN1bHRzIiwiZGlyZWN0b3J5UGF0aCIsImpvaW4iLCJjd2QiLCJleGlzdHNTeW5jIiwicmVydW5GaWxlcyIsInJlYWRkaXJTeW5jIiwicmVydW5Db21tYW5kIiwiXyIsImZhaWx1cmVMb2NhdGlvbnMiLCJmb3JFYWNoIiwiZmlsZSIsImpzb24iLCJwYXJzZSIsInJlYWRGaWxlU3luYyIsInJlcGxhY2UiLCJmYWlsdXJlTG9jYXRpb25zVW5pcXVlIiwiU2V0IiwiZmFpbHVyZUxvY2F0aW9uIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLEVBQUUsR0FBR0MsT0FBTyxDQUFDLElBQUQsQ0FBbEI7O0FBQ0EsTUFBTUMsSUFBSSxHQUFHRCxPQUFPLENBQUMsTUFBRCxDQUFwQjs7QUFDQSxNQUFNO0FBQUVFLEVBQUFBLEVBQUUsRUFBRUM7QUFBTixJQUFpQkgsT0FBTyxDQUFDLE1BQUQsQ0FBOUI7O0FBRUEsTUFBTUksSUFBSSxHQUFHSixPQUFPLENBQUMsVUFBRCxDQUFQLENBQW9CSyxPQUFPLENBQUNELElBQVIsQ0FBYUUsS0FBYixDQUFtQixDQUFuQixDQUFwQixDQUFiOztBQUVBLE1BQU1DLFlBQU4sQ0FBbUI7QUFFZkMsRUFBQUEsV0FBVyxDQUFDO0FBQUVDLElBQUFBLFdBQUY7QUFBZUMsSUFBQUEsWUFBZjtBQUE2QkMsSUFBQUEsZUFBN0I7QUFBOENDLElBQUFBO0FBQTlDLE1BQWdFLEVBQWpFLEVBQXFFO0FBQzVFLFNBQUtDLGVBQUwsR0FBdUIsRUFBdkI7QUFDQSxTQUFLQyxlQUFMO0FBQ0EsU0FBS0wsV0FBTCxHQUFtQkEsV0FBVyxHQUFHQSxXQUFILEdBQWlCLEVBQS9DO0FBQ0EsU0FBS0MsWUFBTCxHQUFvQkEsWUFBWSxHQUFHQSxZQUFILEdBQWtCLGlCQUFsRDtBQUNBLFNBQUtDLGVBQUwsR0FBdUJBLGVBQWUsR0FBR0EsZUFBSCxHQUFxQixZQUEzRDtBQUNBLFNBQUtDLGFBQUwsR0FBcUJBLGFBQWEsR0FBR0EsYUFBSCxHQUFtQixFQUFyRDtBQUNBLFNBQUtHLFFBQUwsR0FBZ0IsRUFBaEI7QUFDSDs7QUFFREMsRUFBQUEsTUFBTSxDQUFDQyxZQUFELEVBQWVDLEtBQWYsRUFBc0I7QUFDeEIsU0FBS0gs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T0FBakIsQ0FBeUIsS0FBekIsRUFBZ0MsR0FBaEMsQ0FBdEI7QUFDSCxXQUZEO0FBR0gsU0FMRDtBQU1BLGNBQU1DLHNCQUFzQixHQUFHLENBQUMsR0FBRyxJQUFJQyxHQUFKLENBQVFSLGdCQUFSLENBQUosQ0FBL0I7QUFDQU8sUUFBQUEsc0JBQXNCLENBQUNOLE9BQXZCLENBQStCUSxlQUFlLElBQUk7QUFDOUNYLFVBQUFBLFlBQVksSUFBSyxXQUFVVyxlQUFnQixFQUEzQztBQUNILFNBRkQ7QUFHQTFGLFFBQUFBLEVBQUUsQ0FBQ21FLGFBQUgsQ0FBaUIsS0FBS3ZELGVBQXRCLEVBQXVDbUUsWUFBdkM7QUFFSDtBQUNKO0FBQ0o7O0FBeEZjOztBQXlGbEI7QUFFRFksTUFBTSxDQUFDQyxPQUFQLEdBQWlCcEYsWUFBakIiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG5jb25zdCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuY29uc3QgeyB2NTogdXVpZHY1IH0gPSByZXF1aXJlKCd1dWlkJyk7XG5cbmNvbnN0IGFyZ3YgPSByZXF1aXJlKCdtaW5pbWlzdCcpKHByb2Nlc3MuYXJndi5zbGljZSgyKSk7XG5cbmNsYXNzIFJlcnVuU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGlnbm9yZWRUYWdzLCByZXJ1bkRhdGFEaXIsIHJlcnVuU2NyaXB0UGF0aCwgY29tbWFuZFByZWZpeCB9ID0ge30pIHtcbiAgICAgICAgdGhpcy5ub25QYXNzaW5nSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlV29ya2VySWQ7XG4gICAgICAgIHRoaXMuaWdub3JlZFRhZ3MgPSBpZ25vcmVkVGFncyA/IGlnbm9yZWRUYWdzIDogW107XG4gICAgICAgIHRoaXMucmVydW5EYXRhRGlyID0gcmVydW5EYXRhRGlyID8gcmVydW5EYXRhRGlyIDogXCIuL3Jlc3VsdHMvcmVydW5cIjtcbiAgICAgICAgdGhpcy5yZXJ1blNjcmlwdFBhdGggPSByZXJ1blNjcmlwdFBhdGggPyByZXJ1blNjcmlwdFBhdGggOiBcIi4vcmVydW4uc2hcIjtcbiAgICAgICAgdGhpcy5jb21tYW5kUHJlZml4ID0gY29tbWFuZFByZWZpeCA/IGNvbW1hbmRQcmVmaXggOiBcIlwiO1xuICAgICAgICB0aGlzLnNwZWNGaWxlID0gXCJcIjtcbiAgICB9XG5cbiAgICBiZWZvcmUoY2FwYWJpbGl0aWVzLCBzcGVjcykge1xuICAgICAgICB0aGlzLnNwZWNGaWxlID0gc3BlY3NbMF07XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBSZS1ydW4gc2VydmljZSBpcyBhY3RpdmF0ZWQuIERhdGEgZGlyZWN0b3J5OiAke3RoaXMucmVydW5EYXRhRGlyfWApO1xuICAgICAgICBmcy5ta2RpclN5bmModGhpcy5yZXJ1bkRhdGFEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICAvLyBJTkZPOiBgbmFtZXNwYWNlYCBiZWxvdyBjb3BpZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2tlbGVrdGl2L25vZGUtdXVpZC9ibG9iL21hc3Rlci8vbGliL3YzNS5qcyNMNTQ6MTZcbiAgICAgICAgdGhpcy5zZXJ2aWNlV29ya2VySWQgPSB1dWlkdjUoYCR7RGF0ZS5ub3coKX1gLCAnNmJhN2I4MTAtOWRhZC0xMWQxLTgwYjQtMDBjMDRmZDQzMGM4Jyk7XG4gICAgfVxuXG4gICAgYWZ0ZXJUZXN0KHRlc3QsIGNvbnRleHQsIHsgZXJyb3IsIHJlc3VsdCwgZHVyYXRpb24sIHBhc3NlZCwgcmV0cmllcyB9KSB7XG4gICAgICAgIGlmIChicm93c2VyLmNvbmZpZy5mcmFtZXdvcmsgIT09ICdjdWN1bWJlcicgJiYgIXBhc3NlZCkge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coYFJlLXJ1biBzZXJ2aWNlIGlzIGluc3BlY3Rpbmcgbm9uLXBhc3NpbmcgdGVzdC5gKTtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBUZXN0IGxvY2F0aW9uOiAke3RoaXMuc3BlY0ZpbGV9YCk7XG4gICAgICAgICAgICBpZiAoZXJyb3IgJiYgZXJyb3IubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubm9uUGFzc2luZ0l0ZW1zLnB1c2goeyBsb2NhdGlvbjogdGhpcy5zcGVjRmlsZSwgZmFpbHVyZTogZXJyb3IubWVzc2FnZSB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJUaGUgbm9uLXBhc3NpbmcgdGVzdCBkaWQgbm90IGNvbnRhaW4gYW55IGVycm9yIG1lc3NhZ2UsIGl0IGNvdWxkIG5vdCBiZSBhZGRlZCBmb3IgcmUtcnVuLlwiKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhlY3V0ZWQgYWZ0ZXIgYSBDdWN1bWJlciBzY2VuYXJpbyBlbmRzLlxuICAgIGFmdGVyU2NlbmFyaW8od29ybGQpIHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gd29ybGQucmVzdWx0LnN0YXR1cztcbiAgICAgICAgY29uc3Qgc2NlbmFyaW9MaW5lTnVtYmVyID0gd29ybGQuZ2hlcmtpbkRvY3VtZW50LmZlYXR1cmUuY2hpbGRyZW4uZmlsdGVyKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgaWYoY2hpbGQuc2NlbmFyaW8pe1xuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC5zY2VuYXJpbyAmJiB3b3JsZC5waWNrbGUuYXN0Tm9kZUlkcy5pbmNsdWRlcyhjaGlsZC5zY2VuYXJpby5pZC50b1N0cmluZygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlbMF0uc2NlbmFyaW8ubG9jYXRpb24ubGluZTtcblxuICAgICAgICBpZiAoYnJvd3Nlci5jb25maWcuZnJhbWV3b3JrID09PSAnY3VjdW1iZXInICYmIChzdGF0dXMgIT09ICdQQVNTRUQnICYmIHN0YXR1cyAhPT0gJ1NLSVBQRUQnKSkge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coYFJlLXJ1biBzZXJ2aWNlIGlzIGluc3BlY3Rpbmcgbm9uLXBhc3Npbmcgc2NlbmFyaW8uYCk7XG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb0xvY2F0aW9uID0gYCR7d29ybGQucGlja2xlLnVyaX06JHtzY2VuYXJpb0xpbmVOdW1iZXJ9YDtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBTY2VuYXJpbyBsb2NhdGlvbjogJHtzY2VuYXJpb0xvY2F0aW9ufWApO1xuICAgICAgICAgICAgY29uc3QgdGFnc0xpc3QgPSB3b3JsZC5waWNrbGUudGFncy5tYXAodGFnID0+IHRhZy5uYW1lKTtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBTY2VuYXJpbyB0YWdzOiAke3RhZ3NMaXN0fWApO1xuICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IHRoaXM7XG4gICAgICAgICAgICBpZiAodGhpcy5pZ25vcmVkVGFncyAmJiB0YWdzTGlzdC5zb21lKGlnbm9yZWRUYWcgPT4gc2VydmljZS5pZ25vcmVkVGFncy5pbmNsdWRlcyhpZ25vcmVkVGFnKSkpIHtcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgUmUtcnVuIHNlcnZpY2Ugd2lsbCBpZ25vcmUgdGhlIGN1cnJlbnQgc2NlbmFyaW8gc2luY2UgaXQgaW5jbHVkZXMgb25lIG9mIHRoZSBpZ25vcmVkIHRhZ3M6ICR7dGhpcy5pZ25vcmVkVGFnc31gKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub25QYXNzaW5nSXRlbXMucHVzaCh7IGxvY2F0aW9uOiBzY2VuYXJpb0xvY2F0aW9uLCBmYWlsdXJlOiB3b3JsZC5yZXN1bHQubWVzc2FnZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFmdGVyKHJlc3VsdCwgY2FwYWJpbGl0aWVzLCBzcGVjcykge1xuICAgICAgICBpZiAodGhpcy5ub25QYXNzaW5nSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZnMud3JpdGVGaWxlU3luYyhgJHt0aGlzLnJlcnVuRGF0YURpcn0vcmVydW4tJHt0aGlzLnNlcnZpY2VXb3JrZXJJZH0uanNvbmAsIEpTT04uc3RyaW5naWZ5KHRoaXMubm9uUGFzc2luZ0l0ZW1zKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnUmUtcnVuIHNlcnZpY2UgZGlkIG5vdCBkZXRlY3QgYW55IG5vbi1wYXNzaW5nIHNjZW5hcmlvcyBvciB0ZXN0cy4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ29tcGxldGUoZXhpdENvZGUsIGNvbmZpZywgY2FwYWJpbGl0aWVzLCByZXN1bHRzKSB7XG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgYCR7dGhpcy5yZXJ1bkRhdGFEaXJ9YCk7XG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGRpcmVjdG9yeVBhdGgpKSB7XG4gICAgICAgICAgICBjb25zdCByZXJ1bkZpbGVzID0gZnMucmVhZGRpclN5bmMoZGlyZWN0b3J5UGF0aCk7XG4gICAgICAgICAgICBpZiAocmVydW5GaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlcnVuQ29tbWFuZCA9IGBESVNBQkxFX1JFUlVOPXRydWUgbm9kZV9tb2R1bGVzLy5iaW4vd2RpbyAke2FyZ3YuX1swXX0gYDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb21tYW5kUHJlZml4KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcnVuQ29tbWFuZCA9IGAke3RoaXMuY29tbWFuZFByZWZpeH0gJHtyZXJ1bkNvbW1hbmR9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGV0IGZhaWx1cmVMb2NhdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICByZXJ1bkZpbGVzLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhgJHt0aGlzLnJlcnVuRGF0YURpcn0vJHtmaWxlfWApKTtcbiAgICAgICAgICAgICAgICAgICAganNvbi5mb3JFYWNoKGZhaWx1cmUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUxvY2F0aW9ucy5wdXNoKGZhaWx1cmUubG9jYXRpb24ucmVwbGFjZSgvXFxcXC9nLCBcIi9cIikpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBmYWlsdXJlTG9jYXRpb25zVW5pcXVlID0gWy4uLm5ldyBTZXQoZmFpbHVyZUxvY2F0aW9ucyldO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVMb2NhdGlvbnNVbmlxdWUuZm9yRWFjaChmYWlsdXJlTG9jYXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXJ1bkNvbW1hbmQgKz0gYCAtLXNwZWM9JHtmYWlsdXJlTG9jYXRpb259YDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMucmVydW5TY3JpcHRQYXRoLCByZXJ1bkNvbW1hbmQpO1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBSZS1ydW4gc2NyaXB0IGhhcyBiZWVuIGdlbmVyYXRlZCBAICR7dGhpcy5yZXJ1blNjcmlwdFBhdGh9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlcnVuU2VydmljZTtcbiJdfQ==
126
+ module.exports = RerunService;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wdio-rerun-service",
3
- "version": "1.7.7",
3
+ "version": "1.7.8",
4
4
  "description": "A WebdriverIO service to track and prepare for re-running failing or flaky Jasmine/Mocha tests or Cucumber Scenarios.",
5
5
  "author": "Mike Salvia <msalvia@jwplayer.com>",
6
6
  "homepage": "https://github.com/webdriverio-community/wdio-rerun-service",