Commit Graph

19 Commits

Author SHA1 Message Date
Miloslav Trmač a1ccc9d862 Use os.WriteFile instead of ioutil.WriteFile
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2022-09-12 16:31:34 +02:00
Miloslav Trmač 4b28197720 Use os.ReadFile instead of ioutil.ReadFile
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2022-09-12 16:30:43 +02:00
Eng Zer Jun 6ea3603b6b
test: use `T.TempDir` to create temporary test directory
This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.

Prior to this commit, temporary directory created using `ioutil.TempDir`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
	defer func() {
		if err := os.RemoveAll(dir); err != nil {
			t.Fatal(err)
		}
	}
is also tedious, but `t.TempDir` handles this for us nicely.

Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-08-30 01:21:37 +08:00
Daniel J Walsh 94b63f024e
Cleanup exclude exceptions path
It is legal to use !./PATH and !/PATH in a .containerignore or
.dockerignore file.

Currently we fail to match on these patterns,  Removing the leadking
"/" and cleaning the path, fixes the problem.

Fixes: https://github.com/containers/buildah/issues/3272

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-07-07 06:50:25 -04:00
Nalin Dahyabhai 2d7dd01618 TestMatch: handle cases where NewPatternMatcher catches syntax errors
With Go 1.16 and later, pkg/fileutils.NewPatternMatcher() will flag
patterns with bad syntax immediately.  With older compilers, it would
have returned a matcher object which flagged syntax errors only when the
matcher was actually used to check a path.  Update tests to accept
either behavior.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2021-05-07 16:51:05 -04:00
Yann Soubeyrand f832879256 Allow double star exclude patterns to match directories
Currently, double star exclude patterns are only able to match files. They
should also match directories.

Signed-off-by: Yann Soubeyrand <yann.soubeyrand@camptocamp.com>
2020-05-08 20:21:15 +02:00
Yann Soubeyrand 694c692ecf Error out when an exclude pattern ends with a single slash
Exclude patterns ending with a single slash are invalid and lead to a regexp
wrongly matching a dollar at the end of the file path. Error out instead of
building a bad regexp.

Signed-off-by: Yann Soubeyrand <yann.soubeyrand@camptocamp.com>
2020-05-08 20:04:14 +02:00
Daniel J Walsh f53a5bc105
Make linters happy
Check lots of potential error situations.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-11 14:47:31 -04:00
Sascha Grunert b66d5a5c12
Enable goconst linter and fix lints
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-01-28 15:59:15 +01:00
Sascha Grunert 5e07044cf0
Add indicator for last matched result
This information is needed as well if we want to match
in a way that the last match has the highest priority.

We now introduce a new method `MatchesResult` to not break the previous
API.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-11-16 09:09:26 -08:00
Sascha Grunert 7f9806911a
Add excluded information to matches
We now add the information how many exclusions a match has, which is
needed for more fine-granular filepath matching.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-10-17 16:13:04 +02:00
Sascha Grunert 42086a5010
Add pure file matches indicator
The `pure` indicator for a match now returns `true` if it's the only
one. This additional information will be used by consumers to decide
more fine-granular if a match can be excluded completely or not.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-10-16 13:58:47 +02:00
Daniel J Walsh f39066fe1b Update packages to match latest code in moby/pkg
Had to vendor in a new version of golang.org/x/net to build
Also had to make some changes to drivers to handle
archive.Reader -> io.Reader
archive.Archive -> io.ReadCloser

Also update .gitingore to ignore emacs files, containers-storage.*
and generated man pages.

Also no longer test travis against golang 1.7, cri-o, moby have also
done this.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2017-09-12 18:00:29 +00:00
John Howard 3e78ad7be2 Windows CI: Turn off failing unit test pkg\fileutils
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-02 19:05:33 -08:00
Doug Davis eddb14a44e Support multi-dir wildcards in .dockerignore
Closes #13113

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-11-13 13:44:07 -08:00
Vincent Demeester 09adf87f23 Add missing tests and docs for pkg/fileutils
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-12 22:43:42 +02:00
Vincent Demeester 8454e1a3b2 Add coverage on pkg/fileutils
Should fix #11598

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-04-29 16:27:12 +02:00
buddhamagnet 6fd8e485c8 add support for exclusion rules in dockerignore
Signed-off-by: Dave Goodchild <buddhamagnet@gmail.com>
2015-04-28 18:56:45 +01:00
Antonio Murdaca c30a55f14d Refactor utils/utils, fixes #11923
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-14 01:37:36 +02:00