ci_vars <- c(
"APPVEYOR" = NA,
"APPVEYOR_ACCOUNT_NAME" = NA,
"APPVEYOR_PROJECT_SLUG" = NA,
"APPVEYOR_BUILD_VERSION" = NA,
"APPVEYOR_JOB_ID" = NA,
"APPVEYOR_REPO_BRANCH" = NA,
"APPVEYOR_REPO_COMMIT" = NA,
"APPVEYOR_REPO_NAME" = NA,
"BRANCH_NAME" = NA,
"BUILD_NUMBER" = NA,
"BUILD_URL" = NA,
"CI" = NA,
"CIRCLECI" = NA,
"CIRCLE_BRANCH" = NA,
"CIRCLE_BUILD_NUM" = NA,
"CIRCLE_PROJECT_REPONAME" = NA,
"CIRCLE_PROJECT_USERNAME" = NA,
"CIRCLE_SHA1" = NA,
"CI_BRANCH" = NA,
"CI_BUILD_NUMBER" = NA,
"CI_BUILD_URL" = NA,
"CI_COMMIT_ID" = NA,
"CI_NAME" = NA,
"CODECOV_TOKEN" = NA,
"DRONE" = NA,
"DRONE_BRANCH" = NA,
"DRONE_BUILD_NUMBER" = NA,
"DRONE_BUILD_URL" = NA,
"DRONE_COMMIT" = NA,
"GIT_BRANCH" = NA,
"GIT_COMMIT" = NA,
"GITHUB_ACTION" = NA,
"GITHUB_REPOSTIORY" = NA,
"JENKINS_URL" = NA,
"REVISION" = NA,
"SEMAPHORE" = NA,
"SEMAPHORE_BUILD_NUMBER" = NA,
"SEMAPHORE_REPO_SLUG" = NA,
"TRAVIS" = NA,
"TRAVIS_BRANCH" = NA,
"TRAVIS_COMMIT" = NA,
"TRAVIS_JOB_ID" = NA,
"TRAVIS_JOB_NUMBER" = NA,
"TRAVIS_PULL_REQUEST" = NA,
"TRAVIS_REPO_SLUG" = NA,
"WERCKER_GIT_BRANCH" = NA,
"WERCKER_GIT_COMMIT" = NA,
"WERCKER_GIT_OWNER" = NA,
"WERCKER_GIT_REPOSITORY" = NA,
"WERCKER_MAIN_PIPELINE_STARTED" = NA
)
cov <- package_coverage(test_path("TestS4"))
test_that("it generates a properly formatted json file", {
withr::local_envvar(ci_vars)
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity,
local_branch = function(dir) "master",
current_commit = function(dir) "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
)
res <- codecov(coverage = cov)
json <- jsonlite::fromJSON(res$body)
expect_match(json$files$name, "R/TestS4.R")
expect_equal(
json$files$coverage[[1]],
c(
NA, NA, NA, NA, NA, NA, NA, 5, 2, NA, 3, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, 1, NA
)
)
expect_equal(json$uploader, "R")
})
test_that("it adds a flags argument to the query if specified", {
withr::local_envvar(ci_vars)
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity,
local_branch = function(dir) "master",
current_commit = function(dir) "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
)
res <- codecov(coverage = cov, flags = "R")
expect_equal(res$query$flags, "R")
})
test_that("it works with local repos", {
withr::local_envvar(ci_vars)
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity,
local_branch = function(dir) "master",
current_commit = function(dir) "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
)
res <- codecov(coverage = cov)
expect_match(res$url, "2") # nolint
expect_match(res$query$branch, "master")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
test_that("it works with local repos and explicit branch and commit", {
withr::local_envvar(ci_vars)
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov, branch = "master", commit = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
expect_match(res$url, "/upload/v2") # nolint
expect_match(res$query$branch, "master")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
test_that("it adds the token to the query if available", {
withr::local_envvar(c(ci_vars, "CODECOV_TOKEN" = "codecov_test"))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity,
local_branch = function(dir) "master",
current_commit = function(dir) "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
)
res <- codecov(coverage = cov)
expect_match(res$url, "/upload/v2") # nolint
expect_match(res$query$branch, "master")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
expect_match(res$query$token, "codecov_test")
})
test_that("it looks for token in a .yml file", {
withr::local_envvar(ci_vars)
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity,
local_branch = function(dir) "master",
current_commit = function(dir) "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
)
res <- codecov(coverage = cov)
expect_match(res$url, "/upload/v2") # nolint
expect_match(res$query$branch, "master")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
expect_match(res$query$token, "codecov_token_from_yaml")
})
test_that("it works with jenkins", {
withr::local_envvar(c(
ci_vars,
"JENKINS_URL" = "jenkins.com",
"GIT_BRANCH" = "test",
"GIT_COMMIT" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3",
"BUILD_NUMBER" = "1",
"BUILD_URL" = "http://test.com/tester/test"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "jenkins")
expect_match(res$query$branch, "test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
expect_match(res$query$build, "1")
expect_match(res$query$build_url, "http://test.com/tester/test")
})
test_that("it works with travis normal builds", {
withr::local_envvar(c(
ci_vars,
"CI" = "true",
"TRAVIS" = "true",
"TRAVIS_PULL_REQUEST" = "false",
"TRAVIS_REPO_SLUG" = "tester/test",
"TRAVIS_BRANCH" = "master",
"TRAVIS_JOB_NUMBER" = "100",
"TRAVIS_JOB_ID" = "10",
"TRAVIS_COMMIT" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "travis")
expect_match(res$query$branch, "master")
expect_match(res$query$job, "10")
expect_match(res$query$pr, "")
expect_match(res$query$slug, "tester/test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
expect_match(res$query$build, "100")
})
test_that("it works with travis pull requests", {
withr::local_envvar(c(
ci_vars,
"CI" = "true",
"TRAVIS" = "true",
"TRAVIS_PULL_REQUEST" = "5",
"TRAVIS_REPO_SLUG" = "tester/test",
"TRAVIS_BRANCH" = "master",
"TRAVIS_JOB_NUMBER" = "100",
"TRAVIS_JOB_ID" = "10",
"TRAVIS_COMMIT" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "travis")
expect_match(res$query$branch, "master")
expect_match(res$query$job, "10")
expect_match(res$query$pr, "5")
expect_match(res$query$slug, "tester/test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
expect_match(res$query$build, "100")
})
test_that("it works with codeship", {
withr::local_envvar(c(
ci_vars,
"CI" = "true",
"CI_NAME" = "codeship",
"CI_BRANCH" = "master",
"CI_BUILD_NUMBER" = "5",
"CI_BUILD_URL" = "http://test.com/tester/test",
"CI_COMMIT_ID" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "codeship")
expect_match(res$query$branch, "master")
expect_match(res$query$build, "5")
expect_match(res$query$build_url, "http://test.com/tester/test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
test_that("it works with circleci", {
withr::local_envvar(c(
ci_vars,
"CI" = "true",
"CIRCLECI" = "true",
"CIRCLE_BRANCH" = "master",
"CIRCLE_BUILD_NUM" = "5",
"CIRCLE_PROJECT_USERNAME" = "tester",
"CIRCLE_PROJECT_REPONAME" = "test",
"CIRCLE_SHA1" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "circleci")
expect_match(res$query$branch, "master")
expect_match(res$query$build, "5")
expect_match(res$query$owner, "tester")
expect_match(res$query$repo, "test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
test_that("it works with semaphore", {
withr::local_envvar(c(
ci_vars,
"CI" = "true",
"SEMAPHORE" = "true",
"BRANCH_NAME" = "master",
"SEMAPHORE_BUILD_NUMBER" = "5",
"SEMAPHORE_REPO_SLUG" = "tester/test",
"REVISION" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "semaphore")
expect_match(res$query$branch, "master")
expect_match(res$query$build, "5")
expect_match(res$query$owner, "tester")
expect_match(res$query$repo, "test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
test_that("it works with drone", {
withr::local_envvar(c(
ci_vars,
"CI" = "true",
"DRONE" = "true",
"DRONE_BRANCH" = "master",
"DRONE_BUILD_NUMBER" = "5",
"DRONE_BUILD_URL" = "http://test.com/tester/test",
"DRONE_COMMIT" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "drone.io")
expect_match(res$query$branch, "master")
expect_match(res$query$build, "5")
expect_match(res$query$build_url, "http://test.com/tester/test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
test_that("it works with AppVeyor", {
withr::local_envvar(c(
ci_vars,
"CI" = "True",
"APPVEYOR" = "True",
"APPVEYOR_REPO_NAME" = "testspace/test",
"APPVEYOR_REPO_BRANCH" = "master",
"APPVEYOR_ACCOUNT_NAME" = "testuser", # not necessarily the same as testspace above
"APPVEYOR_PROJECT_SLUG" = "test",
"APPVEYOR_BUILD_VERSION" = "1.0.5",
"APPVEYOR_JOB_ID" = "225apqggpmlkn5pr",
"APPVEYOR_REPO_COMMIT" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "appveyor")
expect_match(res$query$branch, "master")
expect_match(res$query$job, "testuser/test/1.0.5")
expect_match(res$query$build, "225apqggpmlkn5pr")
expect_match(res$query$slug, "testspace/test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
test_that("it works with Wercker", {
withr::local_envvar(c(
ci_vars,
"CI" = "true",
"WERCKER_GIT_BRANCH" = "master",
"WERCKER_MAIN_PIPELINE_STARTED" = "5",
"WERCKER_GIT_OWNER" = "tester",
"WERCKER_GIT_REPOSITORY" = "test",
"WERCKER_GIT_COMMIT" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "wercker")
expect_match(res$query$branch, "master")
expect_match(res$query$build, "5")
expect_match(res$query$owner, "tester")
expect_match(res$query$repo, "test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
test_that("it works with GitLab", {
withr::local_envvar(c(
ci_vars,
"CI" = "true",
"CI_SERVER_NAME" = "GitLab CI",
"CI_BUILD_ID" = "5",
"CI_BUILD_REPO" = "https://gitlab.com/tester/test.git",
"CI_BUILD_REF_NAME" = "master",
"CI_BUILD_REF" = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
))
local_mocked_bindings(
RETRY = function(...) list(...),
content = identity
)
res <- codecov(coverage = cov)
expect_match(res$query$service, "gitlab")
expect_match(res$query$branch, "master")
expect_match(res$query$build, "5")
expect_match(res$query$slug, "tester/test")
expect_match(res$query$commit, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.