Commit Graph

83 Commits

Author SHA1 Message Date
Silvan Mosberger
5b4e53a300 lib.fileset: Don't use ulimit for testing tracing 2023-10-04 16:31:14 +02:00
Silvan Mosberger
692b75257e lib.fileset: Refactor inotify testing to be reusable 2023-10-04 16:31:13 +02:00
Silvan Mosberger
5bbe67bf67 lib.fileset: Mention trace functions in the file set evaluation error 2023-10-04 16:31:13 +02:00
Silvan Mosberger
704452f29c lib.fileset.traceVal: init 2023-10-04 16:31:11 +02:00
Silvan Mosberger
467e428f00 lib.fileset.trace: init 2023-10-04 16:30:10 +02:00
Silvan Mosberger
ac2c8d321c lib.fileset: Make expectEqual check more 2023-10-04 16:29:03 +02:00
Silvan Mosberger
efbcf5938f lib.fileset: Add internal helpers for pretty-printing 2023-10-04 16:28:55 +02:00
Silvan Mosberger
81e8f48ebd
Merge pull request #258855 from tweag/fileset.doc-fix
`lib.fileset.unions`: Fix outdated docs
2023-10-04 01:24:04 +02:00
Silvan Mosberger
d5743d9268 lib.fileset.unions: Fix outdated docs
Since 4f35f003e6 unions supports empty lists too
2023-10-03 21:56:53 +02:00
Silvan Mosberger
86802e19ce lib.fileset: _simplifyTree -> _normaliseTreeFilter 2023-10-03 21:27:42 +02:00
Silvan Mosberger
b3c2281219 lib.fileset: Order noEval last 2023-10-03 21:27:40 +02:00
Silvan Mosberger
43e4d8a6a1 lib.fileset: Link to user documentation from contributor docs 2023-10-03 18:50:18 +02:00
Robert Hensing
812887f16f
Merge pull request #257351 from tweag/fileset.empty
`lib.fileset`: Representation for empty file sets without a base path
2023-10-03 18:26:09 +02:00
Silvan Mosberger
4f35f003e6 lib.fileset: Internal representation v3, empty value without a base
`unions []` now works!

Notably the new empty value without a base is not exposed in the interface.
I don't know of any use case for it.
2023-10-03 17:05:57 +02:00
Silvan Mosberger
3cbbea53a1 lib.fileset: Don't use non-reproducible ulimit for stack overflow testing 2023-09-29 20:30:29 +02:00
Silvan Mosberger
94e103ee3f lib.fileset: Minor changes from feedback
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-21 00:21:02 +02:00
Silvan Mosberger
fe6c1539cc lib.fileset: Internal representation v2, ~12x faster unions!
$ ./benchmark.sh HEAD
    [...]
    Mean CPU time 0.04006 (σ = 0.0040146) for 10 runs is 8.193619775953792% (σ = 0.9584251052704821%) of the old value 0.488917 (σ = 0.0294955)
    [...]
2023-09-21 00:21:02 +02:00
Silvan Mosberger
45bf2c7617 lib.fileset: Ignore irrelevant shellcheck warnings 2023-09-21 00:21:01 +02:00
Silvan Mosberger
e05cf47184 lib.fileset: Use a nix-shell shebang for benchmark.sh 2023-09-21 00:21:01 +02:00
Silvan Mosberger
c9c9c093cf lib.fileset: Have benchmark.sh measure the time 2023-09-21 00:21:01 +02:00
Silvan Mosberger
c8bac6ea0f lib.fileset: Add benchmark for unions 2023-09-21 00:21:01 +02:00
Silvan Mosberger
631ad21692 lib.fileset: More reusable benchmark code 2023-09-21 00:21:01 +02:00
Silvan Mosberger
7ab764e575 lib.fileset.unions: Don't stack overflow for many files 2023-09-21 00:21:01 +02:00
Silvan Mosberger
e04e40d05e lib.fileset: Optimise tests
Previously a lot of processes were used, slowing it down considerably
the more files were tested
2023-09-21 00:21:01 +02:00
Silvan Mosberger
c5ae093f13 lib.fileset: Various updates relating to union/unions
Also some minor formatting improvements
2023-09-21 00:21:01 +02:00
Silvan Mosberger
f78d65067f lib.fileset: Create tests for union and unions 2023-09-21 00:21:01 +02:00
Silvan Mosberger
bd52895222 lib.fileset.unions: init 2023-09-21 00:20:58 +02:00
Silvan Mosberger
d866a0bda1 lib.fileset.union: init 2023-09-21 00:19:48 +02:00
Silvan Mosberger
7c6b0b107a lib.fileset: Minor internal type doc fix 2023-09-13 23:32:29 +02:00
Silvan Mosberger
7d4eb3f1b7 lib.fileset.toSource: Evaluate fileset even for empty directories 2023-09-13 23:32:14 +02:00
Silvan Mosberger
19b39dcc93 lib.fileset: Internal representation v1 2023-09-13 18:53:53 +02:00
Silvan Mosberger
48abfde844 lib/fileset: Test function improvement
We can now test returned paths being equal, no need to work around it
anymore by making sure paths aren't returned (which would import them
with the previous --json)
2023-09-13 18:43:36 +02:00
Silvan Mosberger
465e05c0c5 lib.fileset.toSource: init 2023-09-01 15:46:04 +02:00