Merge pull request #268520 from tweag/fileset-minor-changes
`lib.fileset`: Minor changes
This commit is contained in:
commit
5a7118da75
@ -312,7 +312,7 @@ in {
|
|||||||
lib.fileset.fromSource: The source origin of the argument is of type ${typeOf path}, but it should be a path instead.''
|
lib.fileset.fromSource: The source origin of the argument is of type ${typeOf path}, but it should be a path instead.''
|
||||||
else if ! pathExists path then
|
else if ! pathExists path then
|
||||||
throw ''
|
throw ''
|
||||||
lib.fileset.fromSource: The source origin (${toString path}) of the argument does not exist.''
|
lib.fileset.fromSource: The source origin (${toString path}) of the argument is a path that does not exist.''
|
||||||
else if isFiltered then
|
else if isFiltered then
|
||||||
_fromSourceFilter path source.filter
|
_fromSourceFilter path source.filter
|
||||||
else
|
else
|
||||||
|
@ -381,7 +381,7 @@ rec {
|
|||||||
|
|
||||||
# Turn a fileset into a source filter function suitable for `builtins.path`
|
# Turn a fileset into a source filter function suitable for `builtins.path`
|
||||||
# Only directories recursively containing at least one files are recursed into
|
# Only directories recursively containing at least one files are recursed into
|
||||||
# Type: Path -> fileset -> (String -> String -> Bool)
|
# Type: fileset -> (String -> String -> Bool)
|
||||||
_toSourceFilter = fileset:
|
_toSourceFilter = fileset:
|
||||||
let
|
let
|
||||||
# Simplify the tree, necessary to make sure all empty directories are null
|
# Simplify the tree, necessary to make sure all empty directories are null
|
||||||
@ -753,9 +753,9 @@ rec {
|
|||||||
|
|
||||||
resultingTree =
|
resultingTree =
|
||||||
_differenceTree
|
_differenceTree
|
||||||
positive._internalBase
|
positive._internalBase
|
||||||
positive._internalTree
|
positive._internalTree
|
||||||
negativeTreeWithPositiveBase;
|
negativeTreeWithPositiveBase;
|
||||||
in
|
in
|
||||||
# If the first file set is empty, we can never have any files in the result
|
# If the first file set is empty, we can never have any files in the result
|
||||||
if positive._internalIsEmptyWithoutBase then
|
if positive._internalIsEmptyWithoutBase then
|
||||||
|
@ -1064,13 +1064,18 @@ rm -rf -- *
|
|||||||
## lib.fileset.fromSource
|
## lib.fileset.fromSource
|
||||||
|
|
||||||
# Check error messages
|
# Check error messages
|
||||||
expectFailure 'fromSource null' 'lib.fileset.fromSource: The source origin of the argument is of type null, but it should be a path instead.'
|
|
||||||
|
|
||||||
|
# String-like values are not supported
|
||||||
expectFailure 'fromSource (lib.cleanSource "")' 'lib.fileset.fromSource: The source origin of the argument is a string-like value \(""\), but it should be a path instead.
|
expectFailure 'fromSource (lib.cleanSource "")' 'lib.fileset.fromSource: The source origin of the argument is a string-like value \(""\), but it should be a path instead.
|
||||||
\s*Sources created from paths in strings cannot be turned into file sets, use `lib.sources` or derivations instead.'
|
\s*Sources created from paths in strings cannot be turned into file sets, use `lib.sources` or derivations instead.'
|
||||||
|
|
||||||
|
# Wrong type
|
||||||
|
expectFailure 'fromSource null' 'lib.fileset.fromSource: The source origin of the argument is of type null, but it should be a path instead.'
|
||||||
expectFailure 'fromSource (lib.cleanSource null)' 'lib.fileset.fromSource: The source origin of the argument is of type null, but it should be a path instead.'
|
expectFailure 'fromSource (lib.cleanSource null)' 'lib.fileset.fromSource: The source origin of the argument is of type null, but it should be a path instead.'
|
||||||
|
|
||||||
|
# fromSource on non-existent paths gives an error
|
||||||
|
expectFailure 'fromSource ./a' 'lib.fileset.fromSource: The source origin \('"$work"'/a\) of the argument is a path that does not exist.'
|
||||||
|
|
||||||
# fromSource on a path works and is the same as coercing that path
|
# fromSource on a path works and is the same as coercing that path
|
||||||
mkdir a
|
mkdir a
|
||||||
touch a/b c
|
touch a/b c
|
||||||
|
Loading…
Reference in New Issue
Block a user