Unverified Commit c352e561 by Edward Thomson Committed by GitHub

Merge pull request #4943 from libgit2/ethomson/ci

ci: only run invasive tests in nightly
parents 4e0c8a1e e2b9f568
resources:
- repo: self
- job: coverity
displayName: 'Coverity'
pool:
vmImage: 'Ubuntu 16.04'
steps:
- task: Docker@0
displayName: Build
inputs:
action: 'Run an image'
imageName: 'libgit2/trusty-openssl:latest'
volumes: |
$(Build.SourcesDirectory):/src
$(Build.BinariesDirectory):/build
envVars: |
COVERITY_TOKEN=$(COVERITY_TOKEN)
workDir: '/build'
containerCommand: '/src/ci/coverity.sh'
detached: false
......@@ -14,6 +14,7 @@ jobs:
CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_amd64_trusty_gcc_mbedtls
displayName: 'Linux (amd64; Trusty; GCC; mbedTLS)'
......@@ -27,6 +28,7 @@ jobs:
CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS
LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_amd64_trusty_clang_openssl
displayName: 'Linux (amd64; Trusty; Clang; OpenSSL)'
......@@ -40,6 +42,7 @@ jobs:
CC=clang
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_amd64_trusty_clang_mbedtls
displayName: 'Linux (amd64; Trusty; Clang; mbedTLS)'
......@@ -53,6 +56,7 @@ jobs:
CC=clang
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS
LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: macos
displayName: 'macOS'
......@@ -68,6 +72,7 @@ jobs:
PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
LEAK_CHECK: leaks
CMAKE_OPTIONS: -G Ninja
RUN_INVASIVE_TESTS: true
- job: windows_vs_amd64
displayName: 'Windows (amd64; Visual Studio)'
......@@ -77,6 +82,7 @@ jobs:
parameters:
environmentVariables:
CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64"
RUN_INVASIVE_TESTS: true
- job: windows_vs_x86
displayName: 'Windows (x86; Visual Studio)'
......@@ -86,6 +92,7 @@ jobs:
parameters:
environmentVariables:
CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013"
RUN_INVASIVE_TESTS: true
- job: windows_mingw_amd64
displayName: 'Windows (amd64; MinGW)'
......@@ -101,6 +108,7 @@ jobs:
environmentVariables:
CMAKE_OPTIONS: -G"MinGW Makefiles"
PATH: $(Agent.TempDirectory)\mingw64\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin
RUN_INVASIVE_TESTS: true
- job: windows_mingw_x86
displayName: 'Windows (x86; MinGW)'
......@@ -117,6 +125,7 @@ jobs:
environmentVariables:
CMAKE_OPTIONS: -G"MinGW Makefiles"
PATH: $(Agent.TempDirectory)\mingw32\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin
RUN_INVASIVE_TESTS: true
- job: linux_x86_bionic_gcc_openssl
displayName: 'Linux (x86; Bionic; GCC; OpenSSL)'
......@@ -131,6 +140,7 @@ jobs:
CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_x86_bionic_clang_openssl
displayName: 'Linux (x86; Bionic; Clang; OpenSSL)'
......@@ -145,6 +155,7 @@ jobs:
CC=clang
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_arm32_bionic_gcc_openssl
displayName: 'Linux (arm32; Bionic; GCC; OpenSSL)'
......@@ -158,6 +169,7 @@ jobs:
environmentVariables: |
CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
RUN_INVASIVE_TESTS=true
SKIP_PROXY_TESTS=true
- job: linux_arm64_bionic_gcc_openssl
......@@ -172,23 +184,5 @@ jobs:
environmentVariables: |
CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
RUN_INVASIVE_TESTS=true
SKIP_PROXY_TESTS=true
- job: coverity
displayName: 'Coverity'
pool:
vmImage: 'Ubuntu 16.04'
steps:
- task: Docker@0
displayName: Build
inputs:
action: 'Run an image'
imageName: 'libgit2/trusty-openssl:latest'
volumes: |
$(Build.SourcesDirectory):/src
$(Build.BinariesDirectory):/build
envVars: |
COVERITY_TOKEN=$(COVERITY_TOKEN)
workDir: '/build'
containerCommand: '/src/ci/coverity.sh'
detached: false
......@@ -51,6 +51,21 @@ Write-Host "####################################################################
run_test offline
if ($Env:RUN_INVASIVE_TESTS) {
Write-Host ""
Write-Host "##############################################################################"
Write-Host "## Running (invasive) tests"
Write-Host "##############################################################################"
$Env:GITTEST_INVASIVE_FS_SIZE=1
$Env:GITTEST_INVASIVE_MEMORY=1
$Env:GITTEST_INVASIVE_SPEED=1
run_test invasive
$Env:GITTEST_INVASIVE_FS_SIZE=$null
$Env:GITTEST_INVASIVE_MEMORY=$null
$Env:GITTEST_INVASIVE_SPEED=$null
}
if (-not $Env:SKIP_ONLINE_TESTS) {
Write-Host ""
Write-Host "##############################################################################"
......@@ -71,6 +86,10 @@ if (-not $Env:SKIP_PROXY_TESTS) {
run_test proxy
$Env:GITTEST_REMOTE_PROXY_HOST=$null
$Env:GITTEST_REMOTE_PROXY_USER=$null
$Env:GITTEST_REMOTE_PROXY_PASS=$null
taskkill /F /IM javaw.exe
}
......
......@@ -136,6 +136,20 @@ if [ -z "$SKIP_OFFLINE_TESTS" ]; then
run_test offline
fi
if [ -n "$RUN_INVASIVE_TESTS" ]; then
echo ""
echo "Running invasive tests"
echo ""
export GITTEST_INVASIVE_FS_SIZE=1
export GITTEST_INVASIVE_MEMORY=1
export GITTEST_INVASIVE_SPEED=1
run_test invasive
unset GITTEST_INVASIVE_FS_SIZE
unset GITTEST_INVASIVE_MEMORY
unset GITTEST_INVASIVE_SPEED
fi
if [ -z "$SKIP_ONLINE_TESTS" ]; then
# Run the various online tests. The "online" test suite only includes the
# default online tests that do not require additional configuration. The
......
......@@ -55,6 +55,7 @@ IF (MSVC_IDE)
ENDIF ()
ADD_TEST(offline "${libgit2_BINARY_DIR}/libgit2_clar" -v -xonline)
ADD_TEST(invasive "${libgit2_BINARY_DIR}/libgit2_clar" -v -score::ftruncate -sfilter::stream::bigfile -sodb::largefiles -siterator::workdir::filesystem_gunk -srepo::init -srepo::init::at_filesystem_root)
ADD_TEST(online "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline)
ADD_TEST(gitdaemon "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::push)
ADD_TEST(ssh "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::push -sonline::clone::ssh_cert -sonline::clone::ssh_with_paths)
......
......@@ -661,10 +661,10 @@ void test_iterator_workdir__filesystem_gunk(void)
cl_git_pass(git_iterator_for_filesystem(&i, "testrepo/.git/refs", NULL));
/* should only have 13 items, since we're not asking for trees to be
/* should only have 16 items, since we're not asking for trees to be
* returned. the goal of this test is simply to not crash.
*/
expect_iterator_items(i, 15, NULL, 15, NULL);
expect_iterator_items(i, 16, NULL, 15, NULL);
git_iterator_free(i);
git_buf_dispose(&parent);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment