-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Cherry-pick various test fixes to 5.x #4282
Merged
Merged
Conversation
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
…3562) The test can fail if some calls to statfs fail due to permission errors. For example: `stat("/var/lib/docker/aufs/mnt/50d0d5f599f0f19450e7649f73a0e23da1f172048e555df2b1cb78b3fefa355b", 0x7ffd2e5b8ed0) = -1 EACCES (Permission denied)`
Error string testing is brittle. The PR makes the test less stringent by not checking the full error message that includes the Golang stdlib error.
- Fix and enable the python smoke test for heartbeat - Remove fmt.Printf from metricbeat ceph module - Fix Windows path issues in libbeat/paths tests - Fix ioutil.TempDir usage in Packetbeat tests (it broke windows)
The thrift test config used double quotes around Windows path separators and this was interpreted incorrectly in YAML parsing.
This test doesn’t actually test any bad conditions. Plus there is another test in the same directory with the name TestBadCondition.
And in system tests, centralize the logic for asserting that there are no ERR or WARN in logs. Filter out errors about “The service process could not connect to the service controller” that occur when testing on Jenkins where Jenkins itself is running as a service. This confuses the Beat because it thinks that it is running as service, but it’s not.
The error message “no such file or directory” is an OS specific error message. There is a different error message on Windows. Simply checking for “error loading config file” should be sufficient.
The test was failing on Windows when `os.rename` failed with `[Error 3] The system cannot find the path specified`. The root cause of the failure was that the path was ~260 characters on Jenkins which is greater than the `MAX_PATH` value in Windows. This PR shortens the test log’s name to resolve the issue. The other changes to normalize the filepath are nice to have for Windows, but not strictly required.
Errors that are logged by the system/filesystem test case don’t have enough context to debug them. This adds the filesystem that caused the error to the message.
jenkins, test it |
jenkins, retest it |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Ignore permission errors in Metricbeat’s TestFileSystemList (Ignore permission errors in Metricbeat’s TestFileSystemList #3562)
The test can fail if some calls to statfs fail due to permission errors. For example:
stat("/var/lib/docker/aufs/mnt/50d0d5f599f0f19450e7649f73a0e23da1f172048e555df2b1cb78b3fefa355b", 0x7ffd2e5b8ed0) = -1 EACCES (Permission denied)
Less strict error matching in Winlogbeat config_test
Error string testing is brittle. The PR makes the test less stringent by not checking the full error message that includes the Golang stdlib error.
Miscellaneous test fixes (Miscellaneous test fixes #4216)
Using single quotes around Windows paths (More test fixes #4235)
The thrift test config used double quotes around Windows path separators and this was interpreted incorrectly in YAML parsing.
Rename TestBadCondition to TestConditions (More test fixes #4235)
This test doesn’t actually test any bad conditions. Plus there is another test in the same directory with the name TestBadCondition.
Use logp.Beta or logp.Experimental in metricsets (More test fixes #4235)
And in system tests, centralize the logic for asserting that there are no ERR or WARN in logs.
Filter out errors about “The service process could not connect to the service controller” that occur when testing on Jenkins where Jenkins itself is running as a service. This confuses the Beat because it thinks that it is running as service, but it’s not.
Remove OS specific error message check from mockbeat (Remove OS specific error message check from mockbeat #4267)
The error message “no such file or directory” is an OS specific error message. There is a different error message on Windows. Simply checking for “error loading config file” should be sufficient.
Use shorter filename in Filebeat test for Windows (Use shorter filename in Filebeat test for Windows #4271)
The test was failing on Windows when
os.rename
failed with[Error 3] The system cannot find the path specified
. The root cause of the failure was that the path was ~260 characters on Jenkins which is greater than theMAX_PATH
value in Windows. This PR shortens the test log’s name to resolve the issue.The other changes to normalize the filepath are nice to have for Windows, but not strictly required.
Add filesystem name to test error message (Add filesystem name to test error message #4272)
Errors that are logged by the system/filesystem test case don’t have enough context to debug them. This adds the filesystem that caused the error to the message.