Nothing
context("dockerignore")
test_that("parse_dockerignore: empty", {
expect_null(parse_dockerignore(character()))
expect_null(parse_dockerignore(NULL))
expect_null(parse_dockerignore("# foo"))
expect_null(parse_dockerignore(" "))
expect_null(parse_dockerignore(c("#foo", " ", "# bar")))
})
test_that("parse_dockerignore: empty", {
expect_null(parse_dockerignore(character()))
expect_null(parse_dockerignore(NULL))
expect_null(parse_dockerignore("# foo"))
expect_null(parse_dockerignore(" "))
expect_null(parse_dockerignore(c("#foo", " ", "# bar")))
})
test_that("parse_dockerignore: simple", {
expect_equal(parse_dockerignore("hello"),
list(patterns = "hello", is_exception = FALSE))
})
test_that("parse_dockerignore: exceptions", {
expect_equal(parse_dockerignore(c("*.md", "!README.md")),
list(patterns = c("*.md", "README.md"),
is_exception = c(FALSE, TRUE)))
})
test_that("parse_dockerignore: cleanup", {
parse_dockerignore("//a///b\\c")$patterns
expect_equal(parse_dockerignore("a/b/c")$patterns, "a/b/c")
expect_equal(parse_dockerignore("a//b/c")$patterns, "a/b/c")
expect_equal(parse_dockerignore("a//b\\c")$patterns, "a/b/c")
expect_equal(parse_dockerignore("/a//b\\c")$patterns, "a/b/c")
## Lots of rubbish
expect_equal(parse_dockerignore("////a/////b///c\\\\\\d")$patterns, "a/b/c/d")
})
test_that("simple cases", {
paths <- c(paste0("dir1/", c("a.txt", "b.md", "c.c")),
paste0("dir2/", c("file.txt", "foo.md", "secret.json")),
paste0("dir3/", c("bar.md", "bar.c")),
"README.md",
"Dockerfile")
root <- make_fake_files(paths)
on.exit(unlink(root, recursive = TRUE), add = TRUE)
dockerfile <- "Dockerfile"
expect_equal(build_file_list(root, NULL), ".")
dockerignore <- parse_dockerignore(c("*/*.md", "dir2"))
expect_equal(
build_file_list(root, dockerignore),
sort(c("Dockerfile", "README.md", "dir1/a.txt", "dir1/c.c",
"dir3/bar.c")))
dockerignore <- parse_dockerignore(c("*/*.md", "dir2", "!dir2/foo.md"))
expect_equal(
build_file_list(root, dockerignore),
sort(c("Dockerfile", "README.md", "dir1/a.txt", "dir1/c.c",
"dir2/foo.md", "dir3/bar.c")))
dockerignore <- parse_dockerignore(c("**/*.md", "dir2"))
expect_equal(
build_file_list(root, dockerignore),
sort(c("Dockerfile", "dir1/a.txt", "dir1/c.c",
"dir3/bar.c")))
dockerignore <- parse_dockerignore(c("**/*.md", "dir2", "!dir2/foo.md"))
expect_equal(
build_file_list(root, dockerignore),
sort(c("Dockerfile", "dir1/a.txt", "dir1/c.c",
"dir2/foo.md", "dir3/bar.c")))
})
test_that("build file list with excluded dockerignore", {
paths <- c(paste0("dir1/", c("a.txt", "Dockerfile")),
paste0("dir2/", c("file.txt", "foo.md", "secret.json")),
"README.md")
root <- make_fake_files(paths)
on.exit(unlink(root, recursive = TRUE), add = TRUE)
dockerfile <- "dir1/Dockerfile"
writeLines("dir1", file.path(root, ".dockerignore"))
ignore1 <- parse_dockerignore("dir1")
ignore2 <- include_dockerfile(ignore1, root, dockerfile)
ignore3 <- read_dockerignore(root, dockerfile)
expect_equal(ignore2, ignore3)
expect_equal(build_file_list(root, ignore1),
sort(c(".dockerignore", "dir2", "README.md")))
expect_equal(build_file_list(root, ignore2),
sort(c(".dockerignore", "dir1/Dockerfile", "dir2", "README.md")))
expect_equal(build_file_list(root, ignore3),
sort(c(".dockerignore", "dir1/Dockerfile", "dir2", "README.md")))
})
test_that("build_tar", {
skip_if_external_tar_unsupported()
paths <- c(paste0("dir1/", c("a.txt", "Dockerfile")),
paste0("dir2/", c("file.txt", "foo.md", "secret.json")),
"README.md")
root <- make_fake_files(paths)
dockerfile <- "dir1/Dockerfile"
x <- build_tar(root, dockerfile)
expect_is(x, "raw")
tmp <- untar_bin(x)
expect_equal(dir(tmp, all.files = TRUE, recursive = TRUE),
dir(root, all.files = TRUE, recursive = TRUE))
unlink(tmp, recursive = TRUE)
writeLines("dir2", file.path(root, ".dockerignore"))
x <- build_tar(root, dockerfile)
tmp2 <- untar_bin(x)
f1 <- dir(tmp2, all.files = TRUE, recursive = TRUE)
f2 <- dir(root, all.files = TRUE, recursive = TRUE)
expect_equal(sort(f1), sort(grep("^dir2", f2, invert = TRUE, value = TRUE)))
unlink(root, recursive = TRUE)
unlink(tmp2, recursive = TRUE)
})
test_that("validate_tar_directory", {
skip_if_external_tar_unsupported()
paths <- c(paste0("dir1/", c("a.txt", "Dockerfile")),
paste0("dir2/", c("file.txt", "foo.md", "secret.json")),
"README.md")
root <- make_fake_files(paths)
on.exit(unlink(root, recursive = TRUE), add = TRUE)
dockerfile <- "dir1/Dockerfile"
bin <- validate_tar_directory(root, dockerfile)
expect_is(bin, "raw")
expect_identical(validate_tar_directory(bin), bin)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.