Commit graph

56 commits

Author SHA1 Message Date
Félix Saparelli
72100217e8 Allow */foo filters to match foo (compat)
This is buggy behaviour that exists in <=1.17, and this patch restores it*

Per gitignore rules, this glob:

    */somefile

Will match:

    foo/somefile
    bar/somefile

But not:

    somefile

However, so far we’ve accepted this. As this is a breaking change, this patch
introduces a hack which lets us accept this behaviour, but clearly marks it as
a compatibility exception. In 2.0, this will be gone.

Fixes #258

* It only restores it on unices, because the behaviour cannot be restored in
  any reasonable manner on Windows. Ah well. It's not for long anyway.
2022-03-07 20:33:29 +13:00
Félix Saparelli
4af6865ef0 Add broken tests for regressions
See #258 and #259
2022-02-12 22:39:40 +13:00
Félix Saparelli
427e4a0d08 Change on_error to let the handler raise a CriticalError 2022-02-07 17:15:27 +13:00
Félix Saparelli
a890b0c916 Deduplicate paths in summarise_events_to_env
Fixes #253
2022-01-31 02:14:28 +13:00
Félix Saparelli
b8ffa0c38a Formatting 2022-01-29 02:08:34 +13:00
Félix Saparelli
a6c997f470
globset: Always pass non-path events (#248) 2022-01-26 09:59:53 +13:00
Félix Saparelli
59d8388d7e globset: allow multipath events through if any path passes the filter 2022-01-26 01:51:48 +13:00
Félix Saparelli
42d64d0a6d
Fail all folders on extension check 2022-01-26 01:18:32 +13:00
Félix Saparelli
44a44a50d1
Move TaggedFiltererError into main error mod 2022-01-16 19:14:31 +13:00
Félix Saparelli
3d32f2d24b
Hook up new globset signature 2022-01-16 16:09:53 +13:00
Félix Saparelli
817f4c2caf
Drop ignorefile tests from globset and tagged now that they're done via common IgnoreFilterer 2022-01-16 15:20:14 +13:00
Félix Saparelli
b8d9ad728e
Integrate IgnoreFilterer into GlobsetFilterer 2022-01-16 15:18:15 +13:00
Félix Saparelli
5bdc1b491f
Add tests for ignore filterer 2022-01-15 23:46:41 +13:00
Félix Saparelli
58d47f78e1
Add more filtering logging and spans 2022-01-15 23:46:06 +13:00
Félix Saparelli
1ce238949e
Reduce verbosity of tracing span output 2022-01-15 16:40:01 +13:00
Félix Saparelli
5e285074bd
Add ignore test helper 2022-01-15 15:15:40 +13:00
Félix Saparelli
6a541e5f27
Move ignore_files one level deeper
in preparation for new ignore functionality
2022-01-10 20:47:06 +13:00
Félix Saparelli
d0bb14f39c
Maintain the naming of the env vars 2021-12-29 21:36:42 +13:00
Félix Saparelli
53d9a65e5f
Change env summarise to return &str as keys for ease of use 2021-12-29 20:52:17 +13:00
Félix Saparelli
0f51a6e794
Test filter files 2021-12-24 02:21:45 +13:00
Félix Saparelli
f19dbf945d
Express process end exceptions as hex in filters 2021-12-23 00:32:56 +13:00
Félix Saparelli
8a7699cf2f
Add process completion signal tests 2021-12-21 18:01:51 +13:00
Félix Saparelli
e4d669e230
Implement most of process completion matching
(except ExitSignal)
2021-12-21 17:56:14 +13:00
Félix Saparelli
5856f976db
Add tests for process completion 2021-12-21 17:49:02 +13:00
Félix Saparelli
4323a28852
Implement signal matching 2021-12-21 16:38:57 +13:00
Félix Saparelli
ff8b019245
Add tests for signal matchers 2021-12-21 16:29:36 +13:00
Félix Saparelli
962c7cd6d6
Test pids 2021-12-21 16:14:58 +13:00
Félix Saparelli
02534defd6
Test feks 2021-12-18 12:53:33 +13:00
Félix Saparelli
946c52b513
Document op and matcher mappings 2021-12-18 12:44:59 +13:00
Félix Saparelli
5ebceddc3e
Start testing nonpaths 2021-12-17 23:29:02 +13:00
Félix Saparelli
d38a78631f
Test negation in tagged parser 2021-12-17 23:19:36 +13:00
Félix Saparelli
d6b5dd5ae0
Test parser 2021-12-17 03:57:25 +13:00
Félix Saparelli
b59acaa9cf
Start testing parser and nonpaths 2021-12-15 07:24:13 +13:00
Félix Saparelli
e4cd1d7379
Test ignorefiles on globset, bugs and all 2021-12-15 06:39:54 +13:00
Félix Saparelli
1af3a1c849
Extract common test helpers 2021-12-15 06:33:55 +13:00
Félix Saparelli
23925db51e
Test scopes 2021-12-15 06:01:40 +13:00
Félix Saparelli
015447e433
Fix whitelisting in pathed globs 2021-12-15 04:57:17 +13:00
Félix Saparelli
a4c863baf8
Test ignore files with folders and globs 2021-12-14 01:47:34 +13:00
Félix Saparelli
f229456f88
Specify and test sorting behaviour 2021-12-08 21:43:10 +13:00
Félix Saparelli
89fd99a683
Add multipaths tests 2021-12-08 21:25:03 +13:00
Félix Saparelli
e9275702d1
Fix common_path stemming and start testing summarise_events_to_env 2021-12-07 01:14:19 +13:00
Félix Saparelli
0826d531af
Test scoped path glob filtering 2021-12-02 21:33:48 +13:00
Félix Saparelli
ce3f2a3cbd
Fix tests/document remaining differences from globset 2021-12-01 01:45:19 +13:00
Félix Saparelli
2d633d9177
Use proper ignore API so path globs match correctly
This notably fixes the v1 "confusing" behaviour when matching folders,
where the expectation is for any of:

folder
folder/
/folder

to match the folder and all paths below it, but v1 would only do this
when *both* of these were added:

**/folder
**/folder/**

Which is very verbose and has caught literally everyone who's ever tried
to do this kinda thing.

The old behaviour is preserved in the globset filterer, for
compatibility, as there are other small behavioural changes that this
affects, even though the new behaviour in the tagged filterer is
arguably the most correct and the old is a bug.
2021-12-01 01:41:07 +13:00
Félix Saparelli
f3bc5fa6d3
Test globset properly
All paths are canonicalised at entrance, so testing should reflect that
2021-11-30 01:42:00 +13:00
Félix Saparelli
4367380a7c
Ignore failing tests 2021-11-28 02:28:14 +13:00
Félix Saparelli
269894e1b0
Add tests for tagged (paths only)
- v1 buggy tests don't pass
2021-11-28 02:22:07 +13:00
Félix Saparelli
0efdf8ea16
Pull globset tests from v1 2021-11-22 22:22:39 +13:00
Félix Saparelli
c758675728
Prep for folder tests 2021-10-20 00:47:22 +13:00
Félix Saparelli
110e1d4c96
Start a test harness for globset 2021-10-17 17:11:50 +13:00