Skip to content

Instantly share code, notes, and snippets.

@jfrimmel
Created August 21, 2022 11:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jfrimmel/61943f9879adfbe760a78efa17a0ecaa to your computer and use it in GitHub Desktop.
Save jfrimmel/61943f9879adfbe760a78efa17a0ecaa to your computer and use it in GitHub Desktop.
`emballoc` working in the test suite of `ripgrep`

This gist is the documentation of a simple test case done to examine the emballoc-crate. It registers the custom allocator for the tests in the popular ripgrep-application.

Versions used

Test procedure

The attached patch file has to be downloaded. The following commands should be executed in order to run the tests:

$ git clone https://github.com/BurntSushi/ripgrep.git
$ cd ripgrep
$ git checkout a026788
$ cargo test   # run test test to have a baseline
$ # move the downloaded file `emballoc.diff` to this directory
$ patch -p1 < emballoc.diff
$ cargo test   # run the tests with `emballoc`

The output of the baseline run is attached as baseline.log. The output of the patched run with emballoc is attached as patched.log.

Conclusion

As shown in the attached log files, the tet suite passes under both the system allocator and the emballoc allocator. A possibly concerning result is the compared runtime: the emballoc-version is much slower (factor ~14), which is expected: one compares a highly-optimized system allocator with an MMU, paging, etc. against a rather simple linear-scan allocator with a fixed memory array.

The important part is, that the test suite passes, which implies, that the allocator also works in hosted environments with high workloads.

Compiling memchr v2.4.1
Compiling cfg-if v1.0.0
Compiling lazy_static v1.4.0
Compiling libc v0.2.121
Compiling log v0.4.14
Compiling proc-macro2 v1.0.36
Compiling regex-automata v0.1.10
Compiling unicode-xid v0.2.2
Compiling syn v1.0.89
Compiling encoding_rs v0.8.30
Compiling serde_derive v1.0.136
Compiling regex-syntax v0.6.25
Compiling serde v1.0.136
Compiling unicode-width v0.1.9
Compiling serde_json v1.0.79
Compiling once_cell v1.10.0
Compiling same-file v1.0.6
Compiling fnv v1.0.7
Compiling termcolor v1.1.3
Compiling bitflags v1.3.2
Compiling crossbeam-utils v0.8.8
Compiling strsim v0.8.0
Compiling bytecount v0.6.2
Compiling ryu v1.0.9
Compiling itoa v1.0.1
Compiling base64 v0.13.0
Compiling textwrap v0.11.0
Compiling thread_local v1.1.4
Compiling walkdir v2.3.2
Compiling clap v2.34.0
Compiling bstr v0.2.17
Compiling aho-corasick v0.7.18
Compiling grep-matcher v0.1.5 (/home/jfrimmel/git/emballoc/tmp/ripgrep/crates/matcher)
Compiling quote v1.0.16
Compiling memmap2 v0.5.3
Compiling atty v0.2.14
Compiling num_cpus v1.13.1
Compiling encoding_rs_io v0.1.7
Compiling regex v1.5.5
Compiling grep-searcher v0.1.10 (/home/jfrimmel/git/emballoc/tmp/ripgrep/crates/searcher)
Compiling globset v0.4.9 (/home/jfrimmel/git/emballoc/tmp/ripgrep/crates/globset)
Compiling grep-regex v0.1.10 (/home/jfrimmel/git/emballoc/tmp/ripgrep/crates/regex)
Compiling grep-cli v0.1.6 (/home/jfrimmel/git/emballoc/tmp/ripgrep/crates/cli)
Compiling ignore v0.4.18 (/home/jfrimmel/git/emballoc/tmp/ripgrep/crates/ignore)
Compiling ripgrep v13.0.0 (/home/jfrimmel/git/emballoc/tmp/ripgrep)
Compiling grep-printer v0.1.6 (/home/jfrimmel/git/emballoc/tmp/ripgrep/crates/printer)
Compiling grep v0.2.10 (/home/jfrimmel/git/emballoc/tmp/ripgrep/crates/grep)
Finished test [unoptimized + debuginfo] target(s) in 1m 05s
Running unittests crates/core/main.rs (target/debug/deps/rg-c76f30ab35c39fe1)
running 2 tests
test config::tests::error ... ok
test config::tests::basic ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running tests/tests.rs (target/debug/deps/integration-21ae9009730370f5)
running 275 tests
test binary::after_match1_explicit ... ok
test binary::after_match1_explicit_text ... ok
test binary::after_match1_explicit_count ... ok
test binary::after_match1_implicit ... ok
test binary::after_match1_implicit_count ... ok
test binary::after_match1_implicit_binary ... ok
test binary::after_match1_implicit_count_binary ... ok
test binary::after_match1_implicit_path ... ok
test binary::after_match1_stdin ... ok
test binary::after_match1_implicit_text ... ok
test binary::after_match1_implicit_quiet ... ok
test binary::before_match1_explicit ... ok
test binary::after_match2_implicit_text ... ok
test binary::before_match1_implicit ... ok
test binary::before_match1_implicit_binary ... ok
test binary::after_match2_implicit ... ok
test binary::before_match1_implicit_text ... ok
test binary::before_match2_explicit ... ok
test binary::before_match2_implicit ... ok
test feature::context_sep ... ok
test feature::context_sep_default ... ok
test binary::before_match2_implicit_text ... ok
test feature::context_sep_empty ... ok
test feature::f1078_max_columns_preview1 ... ok
test feature::f1078_max_columns_preview2 ... ok
test feature::f109_case_sensitive_part1 ... ok
test feature::f1155_auto_hybrid_regex ... ok
test feature::f1207_auto_encoding ... ok
test feature::f109_case_sensitive_part2 ... ok
test feature::f109_max_depth ... ok
test feature::f1207_ignore_encoding ... ok
test feature::f1138_no_ignore_dot ... ok
test feature::f129_context ... ok
test feature::f129_matches ... ok
test feature::f129_replace ... ok
test feature::f1420_no_ignore_exclude ... ok
test feature::f1404_nothing_searched_warning ... ok
test feature::f1404_nothing_searched_ignored ... ok
test feature::f1414_no_require_git ... ok
test feature::f159_max_count_zero ... ok
test feature::f159_max_count ... ok
test feature::f196_persistent_config ... ok
test feature::f1466_no_ignore_files ... ok
test feature::f1_replacement_encoding ... ok
test feature::f1_eucjp ... ok
test feature::f1_sjis ... ok
test feature::f1842_field_context_separator ... ok
test feature::f1_unknown_encoding ... ok
test feature::f1_utf16_explicit ... ok
test feature::f1842_field_match_separator ... ok
test feature::f1_utf16_auto ... ok
test feature::f243_column_line ... ok
test feature::f263_sort_files ... ok
test feature::f20_no_filename ... ok
test feature::f362_dfa_size_limit ... ok
test feature::f34_only_matching ... ok
test feature::f275_pathsep ... ok
test feature::f34_only_matching_line_column ... ok
test feature::f411_parallel_search_stats ... ok
test feature::f416_crlf ... ok
test feature::f411_single_threaded_search_stats ... ok
test feature::f416_crlf_multiline ... ok
test feature::f362_exceeds_regex_size_limit ... ok
test feature::f416_crlf_only_matching ... ok
test feature::f419_zero_as_shortcut_for_null ... ok
test feature::f45_precedence_with_others ... ok
test feature::f45_precedence_internal ... ok
test feature::f68_no_ignore_vcs ... ok
test feature::f7 ... ok
test feature::f70_smart_case ... ok
test feature::f7_stdin ... ok
test feature::f89_count ... ok
test feature::f45_relative_cwd ... ok
test feature::f89_files ... ok
test feature::f89_files_without_match ... ok
test feature::f89_files_with_matches ... ok
test feature::f917_trim ... ok
test feature::f89_match ... ok
test feature::f948_exit_code_error ... ok
test feature::f917_trim_match ... ok
test feature::f948_exit_code_match ... ok
test feature::f993_null_data ... ok
test feature::f948_exit_code_no_match ... ok
test feature::f740_passthru ... ok
test feature::no_context_sep ... ok
test feature::no_context_sep_overridden ... ok
test feature::no_unicode ... ok
test feature::no_context_sep_overrides ... ok
test json::notutf8 ... ok
test json::basic ... ok
test json::crlf ... ok
test json::r1412_look_behind_match_missing ... ok
test json::notutf8_file ... ok
test misc::after_context ... ok
test misc::after_context_line_numbers ... ok
test json::r1095_crlf_empty_match ... ok
test misc::before_context_line_numbers ... ok
test json::r1095_missing_crlf ... ok
test misc::before_context ... ok
test misc::binary_convert_mmap ... ok
test misc::binary_convert ... ok
test misc::binary_quit ... ok
test misc::binary_search_no_mmap ... ok
test misc::binary_search_mmap ... ok
test misc::binary_quit_mmap ... ok
test misc::byte_offset_only_matching ... ok
test misc::columns ... ok
test misc::case_insensitive ... ok
test misc::compressed_bzip2 ... ok
test misc::compressed_brotli ... ok
test misc::compressed_gzip ... ok
test misc::compressed_failing_gzip ... ok
test misc::compressed_lz4 ... ok
test misc::compressed_lzma ... ok
test misc::compressed_uncompress ... ok
test misc::compressed_xz ... ok
test misc::compressed_zstd ... ok
test misc::context ... ok
test misc::context_line_numbers ... ok
test misc::count ... ok
test misc::count_matches ... ok
test misc::count_matches_inverted ... ok
test misc::count_matches_via_only ... ok
test misc::dir ... ok
test misc::file_type_add ... ok
test misc::file_type_clear ... ok
test misc::file_type_add_compose ... ok
test misc::file_types ... ok
test misc::files ... ok
test misc::file_types_negate ... ok
test misc::files_with_matches ... ok
test misc::files_without_match ... ok
test misc::glob ... ok
test misc::glob_always_case_insensitive ... ok
test misc::glob_case_insensitive ... ok
test misc::glob_case_sensitive ... ok
test misc::file_types_all ... ok
test misc::glob_negate ... ok
test misc::ignore_git ... ok
test misc::ignore_generic ... ok
test misc::ignore_git_parent ... ok
test misc::file_types_negate_all ... ok
test misc::ignore_git_parent_stop ... ok
test misc::ignore_hidden ... ok
test misc::ignore_git_parent_stop_file ... ok
test misc::ignore_ripgrep_parent_no_stop ... ok
test misc::ignore_ripgrep ... ok
test misc::include_zero_override ... ok
test misc::inverted_line_numbers ... ok
test misc::inverted ... ok
test misc::line ... ok
test misc::max_filesize_parse_error_length ... ok
test misc::max_filesize_parse_error_suffix ... ok
test misc::literal ... ok
test misc::line_numbers ... ok
test misc::include_zero ... ok
test misc::max_filesize_parse_k_suffix ... ok
test misc::max_filesize_parse_m_suffix ... ok
test misc::max_filesize_suffix_overflow ... ok
test misc::max_filesize_parse_no_suffix ... ok
test misc::no_ignore ... ok
test misc::no_ignore_hidden ... ok
test misc::no_parent_ignore_git ... ok
test misc::preprocessing ... ok
test misc::preprocessing_glob ... ok
test misc::replace ... ok
test misc::quiet ... ok
test misc::replace_groups ... ok
test misc::replace_named_groups ... ok
test misc::single_file ... ok
test misc::symlink_follow ... ok
test misc::type_list ... ok
test misc::symlink_nofollow ... ok
test misc::unrestricted1 ... ok
test misc::replace_with_only_matching ... ok
test misc::unrestricted2 ... ok
test misc::unrestricted3 ... ok
test misc::vimgrep_no_line ... ok
test misc::vimgrep ... ok
test misc::vimgrep_no_line_no_column ... ok
test misc::with_filename ... ok
test misc::with_heading ... ok
test misc::with_heading_default ... ok
test multiline::context ... ok
test multiline::dot_all ... ok
test multiline::only_matching ... ok
test multiline::dot_no_newline ... ok
test multiline::overlap1 ... ok
test multiline::overlap2 ... ok
test multiline::stdin ... ok
test multiline::vimgrep ... ok
test regression::r105_part1 ... ok
test regression::r105_part2 ... ok
test regression::r1064 ... ok
test misc::word ... ok
test regression::r1098 ... ok
test regression::r1159_invalid_flag ... ok
test regression::r1130 ... ok
test regression::r1163 ... ok
test regression::r1164 ... ok
test regression::r1173 ... ok
test regression::r1174 ... ok
test regression::r1176_literal_file ... ok
test regression::r1176_line_regex ... ok
test regression::r1203_reverse_suffix_literal ... ok
test regression::r1223_no_dir_check_for_default_path ... ok
test regression::r127 ... ok
test regression::r1259_drop_last_byte_nonl ... ok
test regression::r128 ... ok
test regression::r1319 ... ok
test regression::r1311_multi_line_term_replace ... ok
test regression::r131 ... ok
test regression::r137 ... ok
test regression::r1389_bad_symlinks_no_biscuit ... ok
test regression::r1401_look_ahead_only_matching_1 ... ok
test regression::r1401_look_ahead_only_matching_2 ... ok
test regression::r1412_look_behind_no_replacement ... ok
test regression::r1380 ... ok
test regression::r1334_crazy_literals ... ok
test regression::r1159_exit_status ... ok
test regression::r1446_respect_excludes_in_worktree ... ok
test regression::r1573 ... ok
test regression::r1559 ... ok
test regression::r156 ... ok
test regression::r16 ... ok
test regression::r1537 ... ok
test regression::r1765 ... ok
test regression::r1638 ... ok
test regression::r1739_replacement_lineterm_match ... ok
test regression::r1866 ... ok
test regression::r184 ... ok
test regression::r199 ... ok
test regression::r206 ... ok
test regression::r1891 ... ok
test regression::r2095 ... ok
test regression::r210 ... ok
test regression::r2208 ... ok
test regression::r1878 ... ok
test regression::r228 ... ok
test regression::r2236 ... ok
test regression::r229 ... ok
test regression::r1868_context_passthru_override ... ok
test regression::r251 ... ok
test regression::r256 ... ok
test regression::r256_j1 ... ok
test regression::r25 ... ok
test regression::r270 ... ok
test regression::r279 ... ok
test regression::r30 ... ok
test regression::r391 ... ok
test regression::r451_only_matching ... ok
test regression::r405 ... ok
test regression::r451_only_matching_as_in_issue ... ok
test regression::r428_color_context_path ... ok
test regression::r483_matching_no_stdout ... ok
test regression::r483_non_matching_exit_code ... ok
test regression::r493 ... ok
test regression::r428_unrecognized_style ... ok
test regression::r49 ... ok
test regression::r50 ... ok
test regression::r553_flag ... ok
test regression::r599 ... ok
test regression::r553_switch ... ok
test regression::r64 ... ok
test regression::r568_leading_hyphen_option_args ... ok
test regression::r65 ... ok
test regression::r67 ... ok
test regression::r807 ... ok
test regression::r506_word_not_parenthesized ... ok
test regression::r693_context_in_contextless_mode ... ok
test regression::r87 ... ok
test regression::r900 ... ok
test regression::r90 ... ok
test regression::r99 ... ok
test regression::r93 ... ok
test result: ok. 275 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.33s
diff --git a/Cargo.lock b/Cargo.lock
index 4fd4188..5cb0ada 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -98,6 +98,15 @@ dependencies = [
"lazy_static",
]
+[[package]]
+name = "emballoc"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1d8d2350184d4a995e8b57ef9e0493588a428924cebeef76158641c25579339"
+dependencies = [
+ "spin",
+]
+
[[package]]
name = "encoding_rs"
version = "0.8.30"
@@ -443,6 +452,7 @@ version = "13.0.0"
dependencies = [
"bstr",
"clap",
+ "emballoc",
"grep",
"ignore",
"jemallocator",
@@ -503,6 +513,12 @@ dependencies = [
"serde",
]
+[[package]]
+name = "spin"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
+
[[package]]
name = "strsim"
version = "0.8.0"
diff --git a/Cargo.toml b/Cargo.toml
index fb78fcb..09dcfc7 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -41,6 +41,7 @@ members = [
]
[dependencies]
+emballoc = "0.1.0"
bstr = "0.2.12"
grep = { version = "0.2.8", path = "crates/grep" }
ignore = { version = "0.4.18", path = "crates/ignore" }
diff --git a/tests/tests.rs b/tests/tests.rs
index 81e40f8..e778986 100644
--- a/tests/tests.rs
+++ b/tests/tests.rs
@@ -1,3 +1,7 @@
+#[global_allocator]
+static ALLOCATOR: emballoc::Allocator<{ 256 * 1024 * 1024 }> =
+ emballoc::Allocator::new();
+
// Macros useful for testing.
#[macro_use]
mod macros;
Compiling spin v0.9.4
Compiling ripgrep v13.0.0 (/home/jfrimmel/git/emballoc/tmp/ripgrep)
Compiling emballoc v0.1.0
Finished test [unoptimized + debuginfo] target(s) in 1m 00s
Running unittests crates/core/main.rs (target/debug/deps/rg-5d58d3844e625d51)
running 2 tests
test config::tests::error ... ok
test config::tests::basic ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running tests/tests.rs (target/debug/deps/integration-3b47ad5d1a13a5f2)
running 275 tests
test binary::after_match1_explicit ... ok
test binary::after_match1_explicit_text ... ok
test binary::after_match1_explicit_count ... ok
test binary::after_match1_implicit ... ok
test binary::after_match1_implicit_count ... ok
test binary::after_match1_implicit_binary ... ok
test binary::after_match1_implicit_count_binary ... ok
test binary::after_match1_implicit_path ... ok
test binary::after_match1_implicit_quiet ... ok
test binary::after_match1_implicit_text ... ok
test binary::after_match1_stdin ... ok
test binary::after_match2_implicit ... ok
test binary::before_match1_explicit ... ok
test binary::before_match1_implicit ... ok
test binary::after_match2_implicit_text ... ok
test binary::before_match1_implicit_binary ... ok
test binary::before_match1_implicit_text ... ok
test binary::before_match2_implicit ... ok
test binary::before_match2_explicit ... ok
test binary::before_match2_implicit_text ... ok
test feature::context_sep_default ... ok
test feature::context_sep_empty ... ok
test feature::context_sep ... ok
test feature::f1078_max_columns_preview1 ... ok
test feature::f1078_max_columns_preview2 ... ok
test feature::f109_case_sensitive_part1 ... ok
test feature::f109_case_sensitive_part2 ... ok
test feature::f109_max_depth ... ok
test feature::f1155_auto_hybrid_regex ... ok
test feature::f1207_auto_encoding ... ok
test feature::f1138_no_ignore_dot ... ok
test feature::f1207_ignore_encoding ... ok
test feature::f129_context ... ok
test feature::f129_matches ... ok
test feature::f1404_nothing_searched_ignored ... ok
test feature::f129_replace ... ok
test feature::f1404_nothing_searched_warning ... ok
test feature::f1414_no_require_git ... ok
test feature::f1420_no_ignore_exclude ... ok
test feature::f159_max_count ... ok
test feature::f159_max_count_zero ... ok
test feature::f196_persistent_config ... ok
test feature::f1466_no_ignore_files ... ok
test feature::f1_eucjp ... ok
test feature::f1_replacement_encoding ... ok
test feature::f1_unknown_encoding ... ok
test feature::f1_sjis ... ok
test feature::f1_utf16_auto ... ok
test feature::f1842_field_context_separator ... ok
test feature::f1_utf16_explicit ... ok
test feature::f20_no_filename ... ok
test feature::f1842_field_match_separator ... ok
test feature::f263_sort_files ... ok
test feature::f243_column_line ... ok
test feature::f362_dfa_size_limit ... ok
test feature::f34_only_matching ... ok
test feature::f34_only_matching_line_column ... ok
test feature::f275_pathsep ... ok
test feature::f411_single_threaded_search_stats ... ok
test feature::f416_crlf ... ok
test feature::f411_parallel_search_stats ... ok
test feature::f362_exceeds_regex_size_limit ... ok
test feature::f416_crlf_multiline ... ok
test feature::f419_zero_as_shortcut_for_null ... ok
test feature::f416_crlf_only_matching ... ok
test feature::f45_precedence_with_others ... ok
test feature::f45_precedence_internal ... ok
test feature::f68_no_ignore_vcs ... ok
test feature::f7 ... ok
test feature::f70_smart_case ... ok
test feature::f45_relative_cwd ... ok
test feature::f7_stdin ... ok
test feature::f89_files ... ok
test feature::f89_count ... ok
test feature::f89_files_with_matches ... ok
test feature::f89_files_without_match ... ok
test feature::f89_match ... ok
test feature::f917_trim ... ok
test feature::f948_exit_code_error ... ok
test feature::f917_trim_match ... ok
test feature::f948_exit_code_no_match ... ok
test feature::f948_exit_code_match ... ok
test feature::f740_passthru ... ok
test feature::f993_null_data ... ok
test feature::no_context_sep ... ok
test feature::no_context_sep_overridden ... ok
test feature::no_context_sep_overrides ... ok
test feature::no_unicode ... ok
test json::notutf8 ... ok
test json::crlf ... ok
test json::basic ... ok
test json::notutf8_file ... ok
test json::r1412_look_behind_match_missing ... ok
test misc::after_context ... ok
test json::r1095_crlf_empty_match ... ok
test json::r1095_missing_crlf ... ok
test misc::after_context_line_numbers ... ok
test misc::before_context ... ok
test misc::binary_convert ... ok
test misc::before_context_line_numbers ... ok
test misc::binary_convert_mmap ... ok
test misc::binary_quit ... ok
test misc::binary_search_mmap ... ok
test misc::binary_search_no_mmap ... ok
test misc::binary_quit_mmap ... ok
test misc::byte_offset_only_matching ... ok
test misc::compressed_brotli ... ok
test misc::columns ... ok
test misc::compressed_bzip2 ... ok
test misc::case_insensitive ... ok
test misc::compressed_failing_gzip ... ok
test misc::compressed_gzip ... ok
test misc::compressed_lz4 ... ok
test misc::compressed_lzma ... ok
test misc::compressed_uncompress ... ok
test misc::compressed_xz ... ok
test misc::compressed_zstd ... ok
test misc::context_line_numbers ... ok
test misc::count ... ok
test misc::context ... ok
test misc::count_matches ... ok
test misc::count_matches_via_only ... ok
test misc::file_type_add ... ok
test misc::count_matches_inverted ... ok
test misc::dir ... ok
test misc::file_type_add_compose ... ok
test misc::file_type_clear ... ok
test misc::file_types ... ok
test misc::file_types_negate ... ok
test misc::file_types_all ... ok
test misc::files ... ok
test misc::files_without_match ... ok
test misc::files_with_matches ... ok
test misc::file_types_negate_all ... ok
test misc::glob ... ok
test misc::glob_case_insensitive ... ok
test misc::glob_always_case_insensitive ... ok
test misc::glob_case_sensitive ... ok
test misc::glob_negate ... ok
test misc::ignore_generic ... ok
test misc::ignore_git ... ok
test misc::ignore_git_parent ... ok
test misc::ignore_git_parent_stop ... ok
test misc::ignore_git_parent_stop_file ... ok
test misc::ignore_hidden ... ok
test misc::ignore_ripgrep ... ok
test misc::ignore_ripgrep_parent_no_stop ... ok
test misc::inverted ... ok
test misc::include_zero ... ok
test misc::inverted_line_numbers ... ok
test misc::include_zero_override ... ok
test misc::line ... ok
test misc::line_numbers ... ok
test misc::literal ... ok
test misc::max_filesize_parse_error_length ... ok
test misc::max_filesize_parse_k_suffix ... ok
test misc::max_filesize_parse_m_suffix ... ok
test misc::max_filesize_parse_no_suffix ... ok
test misc::max_filesize_parse_error_suffix ... ok
test misc::max_filesize_suffix_overflow ... ok
test misc::no_ignore ... ok
test misc::no_ignore_hidden ... ok
test misc::preprocessing ... ok
test misc::quiet ... ok
test misc::no_parent_ignore_git ... ok
test misc::preprocessing_glob ... ok
test misc::replace ... ok
test misc::replace_groups ... ok
test misc::replace_named_groups ... ok
test misc::replace_with_only_matching ... ok
test misc::single_file ... ok
test misc::symlink_follow ... ok
test misc::symlink_nofollow ... ok
test misc::type_list ... ok
test misc::unrestricted1 ... ok
test misc::unrestricted2 ... ok
test misc::unrestricted3 ... ok
test misc::vimgrep_no_line_no_column ... ok
test misc::vimgrep_no_line ... ok
test misc::vimgrep ... ok
test misc::with_filename ... ok
test misc::with_heading ... ok
test misc::with_heading_default ... ok
test misc::word ... ok
test multiline::context ... ok
test multiline::dot_all ... ok
test multiline::dot_no_newline ... ok
test multiline::overlap1 ... ok
test multiline::only_matching ... ok
test multiline::overlap2 ... ok
test multiline::stdin ... ok
test regression::r105_part1 ... ok
test regression::r105_part2 ... ok
test multiline::vimgrep ... ok
test regression::r1064 ... ok
test regression::r1098 ... ok
test regression::r1159_invalid_flag ... ok
test regression::r1163 ... ok
test regression::r1130 ... ok
test regression::r1173 ... ok
test regression::r1164 ... ok
test regression::r1174 ... ok
test regression::r1176_line_regex ... ok
test regression::r1223_no_dir_check_for_default_path ... ok
test regression::r1176_literal_file ... ok
test regression::r1203_reverse_suffix_literal ... ok
test regression::r127 ... ok
test regression::r1259_drop_last_byte_nonl ... ok
test regression::r128 ... ok
test regression::r131 ... ok
test regression::r1311_multi_line_term_replace ... ok
test regression::r1319 ... ok
test regression::r1334_crazy_literals ... ok
test regression::r137 ... ok
test regression::r1159_exit_status ... ok
test regression::r1380 ... ok
test regression::r1412_look_behind_no_replacement ... ok
test regression::r1401_look_ahead_only_matching_1 ... ok
test regression::r1401_look_ahead_only_matching_2 ... ok
test regression::r1389_bad_symlinks_no_biscuit ... ok
test regression::r1537 ... ok
test regression::r1446_respect_excludes_in_worktree ... ok
test regression::r1559 ... ok
test regression::r156 ... ok
test regression::r1573 ... ok
test regression::r1638 ... ok
test regression::r16 ... ok
test regression::r1739_replacement_lineterm_match ... ok
test regression::r1765 ... ok
test regression::r1866 ... ok
test regression::r184 ... ok
test regression::r199 ... ok
test regression::r1891 ... ok
test regression::r206 ... ok
test regression::r2095 ... ok
test regression::r210 ... ok
test regression::r2208 ... ok
test regression::r2236 ... ok
test regression::r228 ... ok
test regression::r1878 ... ok
test regression::r229 ... ok
test regression::r25 ... ok
test regression::r251 ... ok
test regression::r256 ... ok
test regression::r1868_context_passthru_override ... ok
test regression::r270 ... ok
test regression::r256_j1 ... ok
test regression::r279 ... ok
test regression::r30 ... ok
test regression::r391 ... ok
test regression::r405 ... ok
test regression::r428_color_context_path ... ok
test regression::r451_only_matching ... ok
test regression::r428_unrecognized_style ... ok
test regression::r451_only_matching_as_in_issue ... ok
test regression::r483_matching_no_stdout ... ok
test regression::r483_non_matching_exit_code ... ok
test regression::r49 ... ok
test regression::r493 ... ok
test regression::r50 ... ok
test regression::r506_word_not_parenthesized ... ok
test regression::r553_flag ... ok
test regression::r599 ... ok
test regression::r553_switch ... ok
test regression::r64 ... ok
test regression::r67 ... ok
test regression::r65 ... ok
test regression::r568_leading_hyphen_option_args ... ok
test regression::r807 ... ok
test regression::r87 ... ok
test regression::r693_context_in_contextless_mode ... ok
test regression::r90 ... ok
test regression::r900 ... ok
test regression::r93 ... ok
test regression::r99 ... ok
test result: ok. 275 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 140.52s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment