-
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
Port Python tests of log input to Golang with filestream input #24246
Comments
Pinging @elastic/agent (Team:Agent) |
The tests that are already running in Golang using the filestream input can be deleted from the Python test suite. We no longer support the log input, so there is no need to run duplicate tests for it. |
Significant tests that are missing from
The tests from Remaining tests from |
Hi! We're labeling this issue as |
Why?
The goal of this issue is to move all Python tests related to the
log
input to Golang and use the newfilestream
input. These existing tests cover valuable knowledge about edge cases of thelog
input. To make surefilestream
input is at least as stable as thelog
input, we need to run the same tests for the new input.How?
All end-to-end tests are written in Python for the
log
input. However, some of these test does not require starting Filebeat, asserting that specific log lines are present, etc. It is much faster to run the input itself from Golang and assert that events have arrived and offsets are updated in the registry. Furthermore, these test no longer depend on log messages so changing logging will not break existing tests.Note: It might turn out that some of the test below are better suited for Python E2E tests. In this case, we are going to run the same test for both input types with the help of
parameterized
.What?
filebeat/tests/system/test_harvester.py
test_bom_utf8
Finish porting all tests from Python to Golang from test_harvester.py #24397- [ ]duplicate of prev testtest_boms_0_utf_8
test_boms_1_utf_16be_bom
Finish porting all tests from Python to Golang from test_harvester.py #24397test_boms_2_utf_16le_bom
Finish porting all tests from Python to Golang from test_harvester.py #24397test_close_eof
Port two Harvester tests of log input to filestream in Golang #24190test_close_removed
Port four Harvester tests of log input to filestream in Golang #24250test_close_renamed
Port two Harvester tests of log input to filestream in Golang #24190test_close_timeout
Finish porting all tests from Python to Golang from test_harvester.py #24397- [ ]asserts debug log contentstest_debug_reader
- [ ]assert error logtest_decode_error
test_empty_line
Port four Harvester tests of log input to filestream in Golang #24250test_empty_lines_only
Port four Harvester tests of log input to filestream in Golang #24250test_exceed_buffer
Port four Harvester tests of log input to filestream in Golang #24250test_ignore_symlink
test_symlink_and_file
Finish porting all tests from Python to Golang from test_harvester.py #24397test_symlink_removed
Finish porting all tests from Python to Golang from test_harvester.py #24397test_symlink_rotated
Finish porting all tests from Python to Golang from test_harvester.py #24397test_symlinks_enabled
Finish porting all tests from Python to Golang from test_harvester.py #24397test_truncate
Finish porting all tests from Python to Golang from test_harvester.py #24397test_truncated_file_closed
Finish porting all tests from Python to Golang from test_harvester.py #24397test_truncated_file_open
Finish porting all tests from Python to Golang from test_harvester.py #24397filebeat/tests/system/test_input.py
test_close_inactive
Port close_inactive* tests from test_input.py #24706test_close_inactive_file_removal
Port close_inactive* tests from test_input.py #24706test_close_inactive_file_rotation_and_removal
Port close_inactive* tests from test_input.py #24706test_close_inactive_file_rotation_and_removal2
Port close_inactive* tests from test_input.py #24706test_disable_recursive_glob
test_exclude_files
:fswatch_test.go:TestFileScanner/skip_excluded_files
test_files_added_late
test_harvester_limit
Add harvester_limit to filestream #21631test_ignore_older_files
:prospector_test.go:TestProspectorNewAndUpdatedFiles/old_files_with_ignore_older_configured
test_inode_marker_based_identity_tracking
test_inode_marker_based_identity_tracking_to_path_based
test_no_paths_defined
:config_test.go:TestConfigValidate/paths_cannot_be_empty
test_not_ignore_old_files
test_path_based_identity_tracking
test_restart_recursive_glob
test_rotating_close_inactive_larger_write_rate
Porttest_rotating_close_inactive_larger_write_rate
to Golang #32039test_rotating_close_inactive_low_write_rate
Porttest_rotating_close_inactive_low_write_rate
to Golang #32045~~ - [ ]
test_shutdown_no_inputs
~~ not relevant tofilestream
test_skip_symlinks
:fswatch_test_non_windows.go:TestFileScannerSymlinks/skip_symlinks
filebeat/tests/system/test_registrar.py
test_clean_inactive
test_clean_removed
test_clean_removed_with_clean_inactive
test_ignore_older_state
test_ignore_older_state_clean_inactive
filebeat/tests/system/test_json.py
- [ ]specific totest_config_no_msg_key_filtering
log
input- [ ]specific totest_config_no_msg_key_multiline
log
inputtest_docker_logs
Add support for parsers in filestream input #24763test_docker_logs_filtering
Add support for parsers in filestream input #24763test_id_in_message
- [ ]must be E2E test, it involvestest_integer_condition
drop_event
processor- [ ]must stay Python as tags is in pipelinetest_json_add_tags
- [ ]must keep E2E, the test checks if there is no error logged in the log file of the Beattest_json_decoding_error_false
- [ ]must keep E2E, the test checks if there is an error logged in the log file of the Beattest_json_decoding_error_true
test_simple_json_overwrite
Add support for parsers in filestream input #24763test_timestamp_in_message
Add support for parsers in filestream input #24763test_type_in_message
Porttest_type_in_message
to filestream Golang tests #32032filebeat/tests/system/test_multiline.py
test_c_style_log
Add support for parsers in filestream input #24763test_close_timeout_with_multiline
Add support for parsers in filestream input #24763test_consecutive_newline
Add support for parsers in filestream input #24763test_invalid_config
Add tests to cover test_invalid_config from test_multiline.py #24644test_java_elasticsearch_log
Add support for parsers in filestream input #24763test_max_bytes
Add support for parsers in filestream input #24763test_max_lines
Add support for parsers in filestream input #24763test_rabbitmq_multiline_log
Add support for parsers in filestream input #24763test_timeout
Add support for parsers in filestream input #24763The text was updated successfully, but these errors were encountered: