-
Notifications
You must be signed in to change notification settings - Fork 250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(child process): Make all child processes silent #1039
Merged
Merged
Changes from all commits
Commits
Show all changes
65 commits
Select commit
Hold shift + click to select a range
01a9b36
feat(Logging api): add logging api
nicojs 187855e
feat(logging-api): first usage of logging api
nicojs a6feb8c
Merge branch 'master' into 748-logging-api
nicojs 8e50b4f
Update log4js 2.7
nicojs 09eb2f2
Merge branch 'master' into 748-logging-api
nicojs c50d69d
feat: add file log level option to stryker config
nicojs 98c2bfb
chore: add stryker.log to gitignore
nicojs c002d5c
docs(stryker): Document new file log level option
nicojs 7d2f3df
feat(file logging): add logging server
nicojs 6590624
refactor: remove unused import
nicojs 691e3a7
test(logging): Add unit test for multi appender
nicojs 042117e
refactor(stryker): Add semicolons
nicojs 188bada
test(logging): Add unit tests for the log configurator
nicojs d5d483e
Merge branch 'master' into 748-logging-api
nicojs 4fdc250
fix(karma-runner): remove logging logic from karma
nicojs 1729794
build(dev depedencies): remove unused types for old log4js
nicojs c14a520
chore(karma-runner): Add express.js types back
nicojs 0a30c08
test(stryker-api): fix failing test
nicojs 5a92cc3
test(logging): Remove accidental `.only`
nicojs be5477f
fix(logging): Remove color from file layout
nicojs 3339086
test(logging): Add logging integration test
nicojs 10bed57
refactor(ConfigReader): don't use `process.exit`
nicojs a820577
fix(taskkill): make killing of tasks more relient on windows
nicojs ee1efda
test(api): Improve error logging on integration test
nicojs 33aa4d9
test(karma-runner): Fix failing test in karma runner after merge
nicojs c2882b9
fix(logging): Make logging server more robust against race conditions
nicojs f59d0c2
test(stryker): Higher timeout for integration tests
nicojs 9d6a4f6
refactor: Remove code responsible for retrying different ports as it …
nicojs 82db388
Merge branch 'master' into 748-logging-api
nicojs 145e583
feat(jest-runner): Use new logging API
nicojs d10b523
build(karma-runner): Add express types back again
nicojs cbe94cc
refactor(logging): Implement review comments
nicojs c37a500
refactor(mapped-types): Make use of conditional types to describe chi…
nicojs 055cf87
Merge branch 'master' into 976-silent-testrunners
nicojs e1a5191
Temp commit
nicojs 6054561
feat(ChildProcess): improve resilience
nicojs 556b80f
test(ChildProcess): test crash scenarios
nicojs f6b9d91
refactor(TestRunners): Generalize child process logic
nicojs 142e879
Merge branch 'master' into 976-silent-testrunners
nicojs f776825
Merge branch 'master' into 976-silent-testrunners
nicojs 9e91a25
test(Test runner): Move unit tests to match source location
nicojs 85c9d3a
fix(ChildProcessProxy): Don't wait forever on dispose in worker
nicojs 9d62efe
build: Don't run integration tests in stryker.conf.js
nicojs b35cfe6
fix(ChildProcessTestRunnerDecorator): Make resilient against crashes
nicojs 075f84f
refactor(RetryDecorator): Remove redundent retry logic on dispose
nicojs f060649
fix(RetryDecorator): Cleanup unused promise
nicojs 06e9998
refactor(TimeoutDecorator): Add semicolon
nicojs dd2ee86
test(TestRunner): Add integration test for crashing test runner
nicojs cb63eab
refactor(Task): Refactor task to use `Promise.race`
nicojs 4df4ae5
Merge branch 'master' into 976-silent-testrunners
nicojs 61af88a
fix(Test runner): Improved error message when a test runner process w…
nicojs 787e249
Merge branch 'master' into 976-silent-testrunners
nicojs 86e7fe2
test(child-process): Await all messages (red build on node 10)
nicojs 3caa27f
fix(child-process): Increase message size, so out-of-memory message i…
nicojs 81cc92f
Merge branch 'master' into 976-silent-testrunners
nicojs 60360e5
refactor(test runner): Cleanup global reference
nicojs 16d29a9
refactor(ChildProcessProxy): Remove unnessesary variable
nicojs 4d3150c
Merge branch 'master' into 976-silent-testrunners
nicojs 44823ad
fix(child-process): Correctly type the proxy param (since TS 3.0)
nicojs 36e8984
refactor(child-process): Remove unused statement
nicojs b99d21a
refactor(child-process): Improve test error message
nicojs 364d2af
fix(child-process): Make sure to capture enough of stdout and stderr …
nicojs 71154e8
test(string builder): Implement unit tests
nicojs 5b0e941
fix(test): Remove `.only`
nicojs 42d95a4
fix(child-process): Remove death by 1000 overloads
nicojs File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,13 @@ | ||
{ | ||
"files": { | ||
"exclude": { | ||
".git": "", | ||
".tscache": "", | ||
"**/*.js": { | ||
"when": "$(basename).ts" | ||
}, | ||
"**/*.d.ts": true, | ||
"**/*.map": { | ||
"when": "$(basename)" | ||
} | ||
"files.exclude": { | ||
".git": true, | ||
".tscache": true, | ||
"**/*.js": { | ||
"when": "$(basename).ts" | ||
}, | ||
"**/*.d.ts": true, | ||
"**/*.map": { | ||
"when": "$(basename)" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 15 additions & 0 deletions
15
packages/stryker/src/child-proxy/ChildProcessCrashedError.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import StrykerError from '../utils/StrykerError'; | ||
|
||
export default class ChildProcessCrashedError extends StrykerError { | ||
constructor( | ||
public readonly pid: number, | ||
message: string, | ||
public readonly exitCode?: number, | ||
public readonly signal?: string, | ||
innerError?: Error) { | ||
super(message, innerError); | ||
Error.captureStackTrace(this, ChildProcessCrashedError); | ||
// TS recommendation: https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work | ||
Object.setPrototypeOf(this, ChildProcessCrashedError.prototype); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we save the
exit
anderror
worker messages on the worker type itself so we don't have to use magic strings? Or are they a part of NodeJS?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean? The
worker
here is an instance ofChildProcess
right?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean NodeJS's
ChildPRocess
? Do we choose to name the event'exit'
or does NodeJS determine this name? If NodeJS determines it, this code is fine. If we personally have code that raises an event with name'exit'
then we should use a constant.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it's a node thing. It works based on events. Not too great if you ask me, but that's how it works.