Skip to content

Commit

Permalink
Merge branch 'patch' into bleeding (Fixes #50)
Browse files Browse the repository at this point in the history
  • Loading branch information
Snaipe committed Sep 20, 2015
2 parents f2a15a9 + 5ecca80 commit b655e3b
Show file tree
Hide file tree
Showing 9 changed files with 40 additions and 31 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 2.0.1
current_version = 2.0.2
commit = False

[bumpversion:file:CMakeLists.txt]
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 2.0.1_b{build}-{branch}
version: 2.0.2_b{build}-{branch}

os: Visual Studio 2015

Expand Down
2 changes: 1 addition & 1 deletion doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
# 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

Expand Down
12 changes: 8 additions & 4 deletions include/criterion/criterion.h
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand All @@ -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

Expand Down
26 changes: 13 additions & 13 deletions src/core/runner.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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));
}
Expand All @@ -118,13 +118,13 @@ struct criterion_test_set *criterion_init(void) {
};

FOREACH_TEST_SEC(test) {
if (!test->category)
break;
if (!*test)
continue;

if (!*test->category)
if (!(*test)->category)
continue;

criterion_register_test(set, test);
criterion_register_test(set, *test);
}

return set;
Expand Down
12 changes: 6 additions & 6 deletions src/core/runner.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit b655e3b

Please sign in to comment.