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: ...@@ -14,6 +14,7 @@ jobs:
CC=gcc CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
LEAK_CHECK=valgrind LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_amd64_trusty_gcc_mbedtls - job: linux_amd64_trusty_gcc_mbedtls
displayName: 'Linux (amd64; Trusty; GCC; mbedTLS)' displayName: 'Linux (amd64; Trusty; GCC; mbedTLS)'
...@@ -27,6 +28,7 @@ jobs: ...@@ -27,6 +28,7 @@ jobs:
CC=gcc CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS
LEAK_CHECK=valgrind LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_amd64_trusty_clang_openssl - job: linux_amd64_trusty_clang_openssl
displayName: 'Linux (amd64; Trusty; Clang; OpenSSL)' displayName: 'Linux (amd64; Trusty; Clang; OpenSSL)'
...@@ -40,6 +42,7 @@ jobs: ...@@ -40,6 +42,7 @@ jobs:
CC=clang CC=clang
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
LEAK_CHECK=valgrind LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_amd64_trusty_clang_mbedtls - job: linux_amd64_trusty_clang_mbedtls
displayName: 'Linux (amd64; Trusty; Clang; mbedTLS)' displayName: 'Linux (amd64; Trusty; Clang; mbedTLS)'
...@@ -53,6 +56,7 @@ jobs: ...@@ -53,6 +56,7 @@ jobs:
CC=clang CC=clang
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS
LEAK_CHECK=valgrind LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: macos - job: macos
displayName: 'macOS' displayName: 'macOS'
...@@ -68,6 +72,7 @@ jobs: ...@@ -68,6 +72,7 @@ jobs:
PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
LEAK_CHECK: leaks LEAK_CHECK: leaks
CMAKE_OPTIONS: -G Ninja CMAKE_OPTIONS: -G Ninja
RUN_INVASIVE_TESTS: true
- job: windows_vs_amd64 - job: windows_vs_amd64
displayName: 'Windows (amd64; Visual Studio)' displayName: 'Windows (amd64; Visual Studio)'
...@@ -77,6 +82,7 @@ jobs: ...@@ -77,6 +82,7 @@ jobs:
parameters: parameters:
environmentVariables: environmentVariables:
CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64"
RUN_INVASIVE_TESTS: true
- job: windows_vs_x86 - job: windows_vs_x86
displayName: 'Windows (x86; Visual Studio)' displayName: 'Windows (x86; Visual Studio)'
...@@ -86,6 +92,7 @@ jobs: ...@@ -86,6 +92,7 @@ jobs:
parameters: parameters:
environmentVariables: environmentVariables:
CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013"
RUN_INVASIVE_TESTS: true
- job: windows_mingw_amd64 - job: windows_mingw_amd64
displayName: 'Windows (amd64; MinGW)' displayName: 'Windows (amd64; MinGW)'
...@@ -101,6 +108,7 @@ jobs: ...@@ -101,6 +108,7 @@ jobs:
environmentVariables: environmentVariables:
CMAKE_OPTIONS: -G"MinGW Makefiles" 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 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 - job: windows_mingw_x86
displayName: 'Windows (x86; MinGW)' displayName: 'Windows (x86; MinGW)'
...@@ -117,6 +125,7 @@ jobs: ...@@ -117,6 +125,7 @@ jobs:
environmentVariables: environmentVariables:
CMAKE_OPTIONS: -G"MinGW Makefiles" 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 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 - job: linux_x86_bionic_gcc_openssl
displayName: 'Linux (x86; Bionic; GCC; OpenSSL)' displayName: 'Linux (x86; Bionic; GCC; OpenSSL)'
...@@ -131,6 +140,7 @@ jobs: ...@@ -131,6 +140,7 @@ jobs:
CC=gcc CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
LEAK_CHECK=valgrind LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_x86_bionic_clang_openssl - job: linux_x86_bionic_clang_openssl
displayName: 'Linux (x86; Bionic; Clang; OpenSSL)' displayName: 'Linux (x86; Bionic; Clang; OpenSSL)'
...@@ -145,6 +155,7 @@ jobs: ...@@ -145,6 +155,7 @@ jobs:
CC=clang CC=clang
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
LEAK_CHECK=valgrind LEAK_CHECK=valgrind
RUN_INVASIVE_TESTS=true
- job: linux_arm32_bionic_gcc_openssl - job: linux_arm32_bionic_gcc_openssl
displayName: 'Linux (arm32; Bionic; GCC; OpenSSL)' displayName: 'Linux (arm32; Bionic; GCC; OpenSSL)'
...@@ -158,6 +169,7 @@ jobs: ...@@ -158,6 +169,7 @@ jobs:
environmentVariables: | environmentVariables: |
CC=gcc CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
RUN_INVASIVE_TESTS=true
SKIP_PROXY_TESTS=true SKIP_PROXY_TESTS=true
- job: linux_arm64_bionic_gcc_openssl - job: linux_arm64_bionic_gcc_openssl
...@@ -172,23 +184,5 @@ jobs: ...@@ -172,23 +184,5 @@ jobs:
environmentVariables: | environmentVariables: |
CC=gcc CC=gcc
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL
RUN_INVASIVE_TESTS=true
SKIP_PROXY_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 "#################################################################### ...@@ -51,6 +51,21 @@ Write-Host "####################################################################
run_test offline 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) { if (-not $Env:SKIP_ONLINE_TESTS) {
Write-Host "" Write-Host ""
Write-Host "##############################################################################" Write-Host "##############################################################################"
...@@ -71,6 +86,10 @@ if (-not $Env:SKIP_PROXY_TESTS) { ...@@ -71,6 +86,10 @@ if (-not $Env:SKIP_PROXY_TESTS) {
run_test proxy 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 taskkill /F /IM javaw.exe
} }
......
...@@ -136,6 +136,20 @@ if [ -z "$SKIP_OFFLINE_TESTS" ]; then ...@@ -136,6 +136,20 @@ if [ -z "$SKIP_OFFLINE_TESTS" ]; then
run_test offline run_test offline
fi 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 if [ -z "$SKIP_ONLINE_TESTS" ]; then
# Run the various online tests. The "online" test suite only includes the # Run the various online tests. The "online" test suite only includes the
# default online tests that do not require additional configuration. The # default online tests that do not require additional configuration. The
......
...@@ -55,6 +55,7 @@ IF (MSVC_IDE) ...@@ -55,6 +55,7 @@ IF (MSVC_IDE)
ENDIF () ENDIF ()
ADD_TEST(offline "${libgit2_BINARY_DIR}/libgit2_clar" -v -xonline) 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(online "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline)
ADD_TEST(gitdaemon "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::push) 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) 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) ...@@ -661,10 +661,10 @@ void test_iterator_workdir__filesystem_gunk(void)
cl_git_pass(git_iterator_for_filesystem(&i, "testrepo/.git/refs", NULL)); 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. * 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_iterator_free(i);
git_buf_dispose(&parent); 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