diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/addition.c | 71 | ||||
| -rw-r--r-- | examples/macro.c | 31 | ||||
| -rw-r--r-- | examples/meson.build | 11 |
3 files changed, 113 insertions, 0 deletions
diff --git a/examples/addition.c b/examples/addition.c new file mode 100644 index 0000000..34e7720 --- /dev/null +++ b/examples/addition.c @@ -0,0 +1,71 @@ +/* + * This file is part of Tatl <https://github.com/Fuwn/tatl>. + * Copyright (C) 2022-2022 Fuwn <[email protected]> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Copyright (C) 2022-2022 Fuwn <[email protected]> + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include <tatl/tatl.h> + +/* Obtain the result of a two number addition operation */ +int add(int, int); +int dummy(void); +int add_works(void); +int dummy_long(void); +int dummy_longer(void); +int should_fail(void); + +int main(void) { + struct tatl_context context; + + tatl_new(&context); + tatl_add(&context, "dummy", dummy); + tatl_add(&context, "add works", add_works); + tatl_add(&context, "dummy long", dummy_long); +#ifdef _MSC_VER + tatl_add(&context, "dummy longer", dummy_longer); +#endif + tatl_add(&context, "should fail", should_fail); + tatl_finish(&context); + + return 0; +} + +int add(int a, int b) { return a + b; } + +int dummy(void) { return 1; } + +int add_works(void) { return TATL_IS(add(1, 2), 3); } + +int dummy_long(void) { + int i; + + for (i = 0; i < 100000000; ++i) { + } + + return 1; +} + +int dummy_longer(void) { + int i; + + for (i = 0; i < 1000000000; ++i) { + } + + return 1; +} + +int should_fail(void) { return TATL_IS(1, 2); } diff --git a/examples/macro.c b/examples/macro.c new file mode 100644 index 0000000..4f93921 --- /dev/null +++ b/examples/macro.c @@ -0,0 +1,31 @@ +/* + * This file is part of Tatl <https://github.com/Fuwn/tatl>. + * Copyright (C) 2022-2022 Fuwn <[email protected]> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Copyright (C) 2022-2022 Fuwn <[email protected]> + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include <tatl/macros.h> + +TATL_TEST(addition_works) { return TATL_IS(2 + 2, 4); } + +int main(void) { + TATL_NEW(); + TATL_ADD("add works", addition_works); + TATL_FINISH(); + + return 0; +} diff --git a/examples/meson.build b/examples/meson.build new file mode 100644 index 0000000..8928a2c --- /dev/null +++ b/examples/meson.build @@ -0,0 +1,11 @@ +executable('addition', + ['addition.c'], + include_directories : public_header_files, + link_with : [project_target], + c_args : project_build_args) + +executable('macro', + ['macro.c'], + include_directories : public_header_files, + link_with : [project_target], + c_args : project_build_args) |