[v2.2.2] Merge branch 'patch' (Patch release)
* Fix: fixed deadlocks when tests are terminated too fast * Fix: fixed crash during test teardown if spawning new threads in the test * Fix: fixed memory leak in disabled tests
This commit is contained in:
commit
bddeda4acd
10 changed files with 34 additions and 16 deletions
|
@ -1,5 +1,5 @@
|
|||
[bumpversion]
|
||||
current_version = 2.2.1
|
||||
current_version = 2.2.2
|
||||
commit = False
|
||||
|
||||
[bumpversion:file:CMakeLists.txt]
|
||||
|
|
|
@ -66,7 +66,7 @@ endif()
|
|||
|
||||
# Project setup & environment variables
|
||||
|
||||
set(PROJECT_VERSION "2.2.1")
|
||||
set(PROJECT_VERSION "2.2.2")
|
||||
set(LOCALEDIR_REL "share/locale")
|
||||
set(LOCALEDIR "${CMAKE_INSTALL_PREFIX}/${LOCALEDIR_REL}")
|
||||
set(GettextTranslate_ALL 1)
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2016-06-20 Franklin "Snaipe" Mathieu <franklinmathieu@gmail.com>
|
||||
|
||||
* criterion: version 2.2.2
|
||||
* Fix: fixed deadlocks when tests are terminated too fast
|
||||
* Fix: fixed crash during test teardown if spawning new threads in the test
|
||||
* Fix: fixed memory leak in disabled tests
|
||||
|
||||
2016-02-06 Franklin "Snaipe" Mathieu <franklinmathieu@gmail.com>
|
||||
|
||||
* criterion: version 2.2.1
|
||||
|
|
|
@ -48,10 +48,10 @@ the user would have with other frameworks:
|
|||
|
||||
### Binary archives
|
||||
|
||||
* [Linux (x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.2.1/criterion-v2.2.1-linux-x86_64.tar.bz2)
|
||||
* [OS X (x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.2.1/criterion-v2.2.1-osx-x86_64.tar.bz2)
|
||||
* [Windows (MSVC - x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.2.1/criterion-v2.2.1-windows-msvc-x64.tar.bz2)
|
||||
* [Windows (MinGW - x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.2.1/criterion-v2.2.1-windows-mingw-x64.tar.bz2)
|
||||
* [Linux (x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.2.2/criterion-v2.2.2-linux-x64.tar.bz2)
|
||||
* [OS X (x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.2.2/criterion-v2.2.2-osx-x64.tar.bz2)
|
||||
* [Windows (MSVC - x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.2.2/criterion-v2.2.2-windows-msvc-x64.tar.bz2)
|
||||
* [Windows (MinGW - x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.2.2/criterion-v2.2.2-windows-mingw-x64.tar.bz2)
|
||||
|
||||
If you have a different platform, you can still [build the library from source](http://criterion.readthedocs.org/en/latest/setup.html#installation)
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
version: 2.2.1_b{build}-{branch}
|
||||
version: 2.2.2_b{build}-{branch}
|
||||
|
||||
os: Visual Studio 2015
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ copyright = u'2015, Franklin "Snaipe" Mathieu'
|
|||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '2.2.1'
|
||||
version = '2.2.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = version
|
||||
|
||||
|
|
|
@ -153,14 +153,14 @@ static void handle_sigchld_pump(void) {
|
|||
* REMOVE WHEN REFACTORING I/O LAYER
|
||||
*/
|
||||
static pthread_t child_pump;
|
||||
static bool child_pump_running;
|
||||
static volatile bool child_pump_running;
|
||||
|
||||
static void *chld_pump_thread_main(void *nil) {
|
||||
do {
|
||||
handle_sigchld_pump();
|
||||
handle_sigchld_pump();
|
||||
while (child_pump_running) {
|
||||
usleep(1000);
|
||||
} while (child_pump_running);
|
||||
|
||||
handle_sigchld_pump();
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
#endif
|
||||
|
@ -176,13 +176,21 @@ void init_proc_compat(void) {
|
|||
#endif
|
||||
}
|
||||
|
||||
void free_proc_compat(void) {
|
||||
void reset_proc_compat(void) {
|
||||
#ifndef VANILLA_WIN32
|
||||
child_pump_running = false;
|
||||
pthread_join(child_pump, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
void free_proc_compat(void) {
|
||||
#ifndef VANILLA_WIN32
|
||||
if (child_pump_running) {
|
||||
reset_proc_compat();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef VANILLA_WIN32
|
||||
struct wait_context {
|
||||
HANDLE wait_handle;
|
||||
|
|
|
@ -62,5 +62,6 @@ unsigned long long get_process_id_of(s_proc_handle *proc);
|
|||
|
||||
void init_proc_compat(void);
|
||||
void free_proc_compat(void);
|
||||
void reset_proc_compat(void);
|
||||
|
||||
#endif /* !COMPAT_PROCESS_H_ */
|
||||
|
|
|
@ -154,11 +154,11 @@ struct worker *run_next_test(struct criterion_test_set *p_set,
|
|||
if (ctx->params.cleanup)
|
||||
ctx->params.cleanup(&ctx->params);
|
||||
} else {
|
||||
ctx->test_stats = test_stats_init(ctx->test);
|
||||
|
||||
if (skip_disabled(ctx))
|
||||
continue;
|
||||
|
||||
ctx->test_stats = test_stats_init(ctx->test);
|
||||
|
||||
worker = run_test(ctx->stats,
|
||||
ctx->suite_stats,
|
||||
ctx->test_stats,
|
||||
|
|
|
@ -78,6 +78,8 @@ struct event *worker_read_event(struct worker_set *workers, s_pipe_file_handle *
|
|||
}
|
||||
|
||||
void run_worker(struct worker_context *ctx) {
|
||||
reset_proc_compat();
|
||||
|
||||
cr_redirect_stdin();
|
||||
g_event_pipe = pipe_out_handle(ctx->pipe, PIPE_CLOSE);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue