Skip to content

Commit 14de90f

Browse files
authored
improve recorder a little: don't retry hooks (#2671)
* don't retry hooks * fix tests Co-authored-by: Mario Melcher <mario.melcher@seitenbau.com>
1 parent d83ecb3 commit 14de90f

File tree

4 files changed

+14
-11
lines changed

4 files changed

+14
-11
lines changed

lib/listener/helpers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ module.exports = function () {
2323
if (store.dryRun) return;
2424
Object.keys(helpers).forEach((key) => {
2525
if (!helpers[key][hook]) return;
26-
recorder.add(`hook ${key}.${hook}()`, () => helpers[key][hook](param), force);
26+
recorder.add(`hook ${key}.${hook}()`, () => helpers[key][hook](param), force, false);
2727
});
2828
};
2929

lib/recorder.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,17 +154,20 @@ module.exports = {
154154
* @param {string|function} taskName
155155
* @param {function} [fn]
156156
* @param {boolean} [force=false]
157-
* @param {boolean} [retry=true] -
157+
* @param {boolean} [retry]
158+
* undefined: `add(fn)` -> `false` and `add('step',fn)` -> `true`
158159
* true: it will retries if `retryOpts` set.
159160
* false: ignore `retryOpts` and won't retry.
160161
* @return {Promise<*> | undefined}
161162
* @inner
162163
*/
163-
add(taskName, fn = undefined, force = false, retry = true) {
164+
add(taskName, fn = undefined, force = false, retry = undefined) {
164165
if (typeof taskName === 'function') {
165166
fn = taskName;
166167
taskName = fn.toString();
168+
if (retry === undefined) retry = false;
167169
}
170+
if (retry === undefined) retry = true;
168171
if (!running && !force) {
169172
return;
170173
}

test/unit/plugin/retryFailedStep_test.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ describe('retryFailedStep', () => {
3030
if (counter < 3) {
3131
throw new Error();
3232
}
33-
});
33+
}, undefined, undefined, true);
3434
return recorder.promise();
3535
});
3636
it('should not retry within', async () => {
@@ -44,7 +44,7 @@ describe('retryFailedStep', () => {
4444
recorder.add(() => {
4545
counter++;
4646
throw new Error();
47-
});
47+
}, undefined, undefined, true);
4848
});
4949
await recorder.promise();
5050
} catch (e) {
@@ -67,7 +67,7 @@ describe('retryFailedStep', () => {
6767
if (counter < 3) {
6868
throw new Error();
6969
}
70-
});
70+
}, undefined, undefined, true);
7171
await recorder.promise();
7272
} catch (e) {
7373
recorder.catchWithoutStop((err) => err);
@@ -89,7 +89,7 @@ describe('retryFailedStep', () => {
8989
if (counter < 3) {
9090
throw new Error();
9191
}
92-
});
92+
}, undefined, undefined, true);
9393
await recorder.promise();
9494
} catch (e) {
9595
recorder.catchWithoutStop((err) => err);
@@ -111,7 +111,7 @@ describe('retryFailedStep', () => {
111111
if (counter < 3) {
112112
throw new Error();
113113
}
114-
});
114+
}, undefined, undefined, true);
115115
await recorder.promise();
116116
} catch (e) {
117117
recorder.catchWithoutStop((err) => err);
@@ -132,7 +132,7 @@ describe('retryFailedStep', () => {
132132
recorder.add(() => {
133133
counter++;
134134
throw new Error();
135-
});
135+
}, undefined, undefined, true);
136136
});
137137
await recorder.promise();
138138
} catch (e) {

test/unit/recorder_test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ describe('Recorder', () => {
5959
if (counter < 3) {
6060
throw new Error('ups');
6161
}
62-
});
62+
}, undefined, undefined, true);
6363
return recorder.promise();
6464
});
6565

@@ -74,7 +74,7 @@ describe('Recorder', () => {
7474
if (counter < 3) {
7575
throw new Error(errorText);
7676
}
77-
});
77+
}, undefined, undefined, true);
7878
return recorder.promise();
7979
});
8080
});

0 commit comments

Comments
 (0)