diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2021-03-10 04:22:56 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2023-08-14 08:44:50 -0400 |
commit | e7c39ff00b81dfdc48ebe7f41847db84ba779676 (patch) | |
tree | aa32fd11345e50e45500df107bd3af3a8d7b975d /maintainers | |
parent | a04720e68ce45943ce0eae3d477f9d554b0d63a4 (diff) |
Rework evaluator `SingleDerivedPath` infra
`EvalState::mkSingleDerivedPathString` previously contained its own
inverse (printing, rather than parsing) in order to validate what was
parsed. Now that is pulled out into its own separate function:
`EvalState::coerceToSingleDerivedPath`.
In additional that pulled out logic is deduplicated with
`EvalState::mkOutputString` via `EvalState::mkOutputStringRaw`, which is
itself deduplicated (and generalized) with
`DownstreamPlaceholder::mkOutputStringRaw`.
All these changes make the unit tests simpler.
(We would ideally write more unit tests for `mkSingleDerivedPathString`
`coerceToSingleDerivedPath` directly, but we cannot yet do that because
the IO in reading the store path won't work when the dummy store cannot
hold anything. Someday we'll have a proper in-memory store which will
work for this.)
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Diffstat (limited to 'maintainers')
0 files changed, 0 insertions, 0 deletions