Merge branch 'patch' into bleeding (Fixes #50)

This commit is contained in:
Snaipe 2015-09-20 12:48:41 +02:00
commit b655e3b1f2
9 changed files with 41 additions and 32 deletions

View file

@ -1,5 +1,5 @@
[bumpversion]
current_version = 2.0.1
current_version = 2.0.2
commit = False
[bumpversion:file:CMakeLists.txt]

View file

@ -29,7 +29,7 @@ endif ()
# Project setup & environment variables
set(PROJECT_VERSION "2.0.1")
set(PROJECT_VERSION "2.0.2")
set(LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale)
set(GettextTranslate_ALL 1)
set(GettextTranslate_GMO_BINARY 1)

View file

@ -1,3 +1,8 @@
2015-09-20 Franklin "Snaipe" Mathieu <franklinmathieu@gmail.com>
* criterion: version 2.0.2
* Fix: Fixed rare bug where tests from only one compilation unit would run.
2015-09-19 Franklin "Snaipe" Mathieu <franklinmathieu@gmail.com>
* criterion: version 2.0.1

View file

@ -39,10 +39,10 @@ the user would have with other frameworks:
## Downloads
* [Linux (x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.0.1/criterion-v2.0.1-linux-x86_64.tar.bz2)
* [OS X (x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.0.1/criterion-v2.0.1-osx-x86_64.tar.bz2)
* [Windows (MSVC - x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.0.1/criterion-v2.0.1-windows-msvc-x86_64.tar.bz2)
* [Windows (MinGW - x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.0.1/criterion-v2.0.1-windows-mingw-x86_64.tar.bz2)
* [Linux (x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.0.2/criterion-v2.0.2-linux-x86_64.tar.bz2)
* [OS X (x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.0.2/criterion-v2.0.2-osx-x86_64.tar.bz2)
* [Windows (MSVC - x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.0.2/criterion-v2.0.2-windows-msvc-x86_64.tar.bz2)
* [Windows (MinGW - x86_64)](https://github.com/Snaipe/Criterion/releases/download/v2.0.2/criterion-v2.0.2-windows-mingw-x86_64.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)

View file

@ -1,4 +1,4 @@
version: 2.0.1_b{build}-{branch}
version: 2.0.2_b{build}-{branch}
os: Visual Studio 2015

View file

@ -39,7 +39,7 @@ copyright = u'2015, Franklin "Snaipe" Mathieu'
# built documents.
#
# The short X.Y version.
version = '2.0.1'
version = '2.0.2'
# The full version, including alpha/beta/rc tags.
release = version

View file

@ -53,13 +53,15 @@
.line_ = __LINE__, \
__VA_ARGS__ \
)); \
SECTION_("cr_tst") \
struct criterion_test IDENTIFIER_(Category, Name, meta) = { \
#Name, \
#Category, \
IDENTIFIER_(Category, Name, impl), \
&IDENTIFIER_(Category, Name, extra) \
} SECTION_SUFFIX_; \
}; \
SECTION_("cr_tst") \
struct criterion_test *IDENTIFIER_(Category, Name, ptr) \
= &IDENTIFIER_(Category, Name, meta) SECTION_SUFFIX_; \
TEST_PROTOTYPE_(Category, Name)
# define TestSuite(...) CR_EXPAND(TestSuite_(__VA_ARGS__, .sentinel_ = 0))
@ -70,11 +72,13 @@
.line_ = 0, \
__VA_ARGS__ \
)); \
SECTION_("cr_sts") \
struct criterion_suite SUITE_IDENTIFIER_(Name, meta) = { \
#Name, \
&SUITE_IDENTIFIER_(Name, extra), \
} SECTION_SUFFIX_
}; \
SECTION_("cr_sts") \
struct criterion_suite *SUITE_IDENTIFIER_(Name, ptr) \
= &SUITE_IDENTIFIER_(Name, meta) SECTION_SUFFIX_
CR_BEGIN_C_API

View file

@ -45,14 +45,14 @@
#endif
#ifdef _MSC_VER
struct criterion_test SECTION_START_(cr_tst);
struct criterion_suite SECTION_START_(cr_sts);
struct criterion_test SECTION_END_(cr_tst);
struct criterion_suite SECTION_END_(cr_sts);
struct criterion_test *SECTION_START_(cr_tst);
struct criterion_suite *SECTION_START_(cr_sts);
struct criterion_test *SECTION_END_(cr_tst);
struct criterion_suite *SECTION_END_(cr_sts);
#endif
IMPL_SECTION_LIMITS(struct criterion_test, cr_tst);
IMPL_SECTION_LIMITS(struct criterion_suite, cr_sts);
IMPL_SECTION_LIMITS(struct criterion_test*, cr_tst);
IMPL_SECTION_LIMITS(struct criterion_suite*, cr_sts);
// This is here to make the test suite & test sections non-empty
TestSuite();
@ -98,11 +98,11 @@ struct criterion_test_set *criterion_init(void) {
struct criterion_ordered_set *suites = new_ordered_set(cmp_suite, dtor_suite_set);
FOREACH_SUITE_SEC(s) {
if (!s->name)
break;
if (!*s)
continue;
struct criterion_suite_set css = {
.suite = *s,
.suite = **s,
};
insert_ordered_set(suites, &css, sizeof (css));
}
@ -118,13 +118,13 @@ struct criterion_test_set *criterion_init(void) {
};
FOREACH_TEST_SEC(test) {
if (!test->category)
break;
if (!*test->category)
if (!*test)
continue;
criterion_register_test(set, test);
if (!(*test)->category)
continue;
criterion_register_test(set, *test);
}
return set;

View file

@ -27,19 +27,19 @@
# include "criterion/types.h"
# include "compat/pipe.h"
DECL_SECTION_LIMITS(struct criterion_test, cr_tst);
DECL_SECTION_LIMITS(struct criterion_suite, cr_sts);
DECL_SECTION_LIMITS(struct criterion_test*, cr_tst);
DECL_SECTION_LIMITS(struct criterion_suite*, cr_sts);
struct criterion_test_set *criterion_init(void);
# define FOREACH_TEST_SEC(Test) \
for (struct criterion_test *Test = GET_SECTION_START(cr_tst); \
Test < (struct criterion_test*) GET_SECTION_END(cr_tst); \
for (struct criterion_test **Test = GET_SECTION_START(cr_tst); \
Test < (struct criterion_test**) GET_SECTION_END(cr_tst); \
++Test)
# define FOREACH_SUITE_SEC(Suite) \
for (struct criterion_suite *Suite = GET_SECTION_START(cr_sts); \
Suite < (struct criterion_suite*) GET_SECTION_END(cr_sts); \
for (struct criterion_suite **Suite = GET_SECTION_START(cr_sts); \
Suite < (struct criterion_suite**) GET_SECTION_END(cr_sts); \
++Suite)
extern s_pipe_handle *g_worker_pipe;