Changed abort behaviour for Windows CI.
This commit is contained in:
@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.8)
|
||||
project(snmalloc C CXX)
|
||||
|
||||
option(USE_SNMALLOC_STATS "Track allocation stats" OFF)
|
||||
option(SNMALLOC_CI_BUILD "Disable features not sensible for CI" OFF)
|
||||
option(USE_MEASURE "Measure performance with histograms" OFF)
|
||||
option(EXPOSE_EXTERNAL_PAGEMAP "Expose the global pagemap" OFF)
|
||||
option(EXPOSE_EXTERNAL_RESERVE "Expose an interface to reserve memory using the default memory provider" OFF)
|
||||
@@ -95,6 +96,10 @@ if(USE_MEASURE)
|
||||
target_compile_definitions(snmalloc_lib INTERFACE -DUSE_MEASURE)
|
||||
endif()
|
||||
|
||||
if(SNMALLOC_CI_BUILD)
|
||||
target_compile_definitions(snmalloc_lib INTERFACE -DSNMALLOC_CI_BUILD)
|
||||
endif()
|
||||
|
||||
if(CACHE_FRIENDLY_OFFSET)
|
||||
target_compile_definitions(snmalloc_lib INTERFACE -DCACHE_FRIENDLY_OFFSET=${CACHE_FRIENDLY_OFFSET})
|
||||
endif()
|
||||
|
||||
@@ -72,9 +72,9 @@ jobs:
|
||||
displayName: 'Install Build Dependencies'
|
||||
|
||||
- task: CMake@1
|
||||
displayName: 'CMake .. $(CMakeArgs) -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS"'
|
||||
displayName: 'CMake .. $(CMakeArgs) -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" -DSNMALLOC_CI_BUILD=On'
|
||||
inputs:
|
||||
cmakeArgs: '.. $(CMakeArgs) -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS"'
|
||||
cmakeArgs: '.. $(CMakeArgs) -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" -DSNMALLOC_CI_BUILD=On'
|
||||
|
||||
- script: |
|
||||
ninja
|
||||
@@ -131,9 +131,9 @@ jobs:
|
||||
|
||||
steps:
|
||||
- task: CMake@1
|
||||
displayName: 'CMake .. $(CMakeArgs) -DCMAKE_BUILD_TYPE=$(BuildType)'
|
||||
displayName: 'CMake .. $(CMakeArgs) -DCMAKE_BUILD_TYPE=$(BuildType) -DSNMALLOC_CI_BUILD=On'
|
||||
inputs:
|
||||
cmakeArgs: '.. $(CMakeArgs) -DCMAKE_BUILD_TYPE=$(BuildType)'
|
||||
cmakeArgs: '.. $(CMakeArgs) -DCMAKE_BUILD_TYPE=$(BuildType) -DSNMALLOC_CI_BUILD=On'
|
||||
|
||||
- task: MSBuild@1
|
||||
displayName: 'Build solution build/snmalloc.sln'
|
||||
@@ -158,9 +158,9 @@ jobs:
|
||||
|
||||
steps:
|
||||
- task: CMake@1
|
||||
displayName: 'CMake .. -DCMAKE_BUILD_TYPE=$(BuildType)'
|
||||
displayName: 'CMake .. -DCMAKE_BUILD_TYPE=$(BuildType) -DSNMALLOC_CI_BUILD=On'
|
||||
inputs:
|
||||
cmakeArgs: '.. -DCMAKE_BUILD_TYPE=$(BuildType)'
|
||||
cmakeArgs: '.. -DCMAKE_BUILD_TYPE=$(BuildType) -DSNMALLOC_CI_BUILD=On'
|
||||
|
||||
- script: |
|
||||
make -j 4
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <test/setup.h>
|
||||
|
||||
#define SNMALLOC_NAME_MANGLE(a) our_##a
|
||||
#include "../../../override/malloc.cc"
|
||||
@@ -76,6 +77,8 @@ int main(int argc, char** argv)
|
||||
UNUSED(argc);
|
||||
UNUSED(argv);
|
||||
|
||||
setup();
|
||||
|
||||
constexpr int SUCCESS = 0;
|
||||
|
||||
test_calloc(0, 0, SUCCESS, false);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <snmalloc.h>
|
||||
#include <test/setup.h>
|
||||
|
||||
using namespace snmalloc;
|
||||
|
||||
@@ -9,6 +10,8 @@ using namespace snmalloc;
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
setup();
|
||||
|
||||
UNUSED(argc);
|
||||
UNUSED(argv);
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <iostream>
|
||||
#include <snmalloc.h>
|
||||
#include <test/setup.h>
|
||||
|
||||
NOINLINE
|
||||
snmalloc::sizeclass_t size_to_sizeclass(size_t size)
|
||||
@@ -9,6 +10,8 @@ snmalloc::sizeclass_t size_to_sizeclass(size_t size)
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
setup();
|
||||
|
||||
bool failed = false;
|
||||
size_t size_low = 0;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <test/setup.h>
|
||||
|
||||
void* oe_base;
|
||||
void* oe_end;
|
||||
@@ -40,6 +41,8 @@ host_snmalloc_pagemap_global_get(snmalloc::PagemapConfig const**);
|
||||
using namespace snmalloc;
|
||||
int main()
|
||||
{
|
||||
setup();
|
||||
|
||||
MemoryProviderStateMixin<DefaultPal> mp;
|
||||
|
||||
size_t size = 1ULL << 28;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "test/measuretime.h"
|
||||
#include "test/opt.h"
|
||||
#include "test/setup.h"
|
||||
#include "test/usage.h"
|
||||
#include "test/xoroshiro.h"
|
||||
|
||||
@@ -148,6 +149,8 @@ void test_tasks(size_t num_tasks, size_t count, size_t size)
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
setup();
|
||||
|
||||
opt::Opt opt(argc, argv);
|
||||
size_t cores = opt.is<size_t>("--cores", 8);
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <snmalloc.h>
|
||||
#include <test/measuretime.h>
|
||||
#include <test/setup.h>
|
||||
#include <test/xoroshiro.h>
|
||||
#include <unordered_set>
|
||||
|
||||
@@ -78,6 +79,8 @@ namespace test
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
setup();
|
||||
|
||||
xoroshiro::p128r64 r;
|
||||
#if NDEBUG
|
||||
size_t nn = 30;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <snmalloc.h>
|
||||
#include <test/measuretime.h>
|
||||
#include <test/setup.h>
|
||||
#include <unordered_set>
|
||||
|
||||
using namespace snmalloc;
|
||||
@@ -63,6 +64,8 @@ void test_alloc_dealloc(size_t count, size_t size, bool write)
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
setup();
|
||||
|
||||
for (size_t size = 16; size <= 128; size <<= 1)
|
||||
{
|
||||
test_alloc_dealloc<NoZero>(1 << 15, size, false);
|
||||
|
||||
20
src/test/setup.h
Normal file
20
src/test/setup.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#if defined(WIN32) && defined(SNMALLOC_CI_BUILD)
|
||||
# include <ds/bits.h>
|
||||
# include <signal.h>
|
||||
# include <stdlib.h>
|
||||
void _cdecl error(int signal)
|
||||
{
|
||||
UNUSED(signal);
|
||||
puts("*****ABORT******");
|
||||
_exit(1);
|
||||
}
|
||||
void setup()
|
||||
{
|
||||
// Disable abort dialog box in CI builds.
|
||||
_set_error_mode(_OUT_TO_STDERR);
|
||||
_set_abort_behavior(0, _WRITE_ABORT_MSG);
|
||||
signal(SIGABRT, error);
|
||||
}
|
||||
#else
|
||||
void setup() {}
|
||||
#endif
|
||||
Reference in New Issue
Block a user