From 0105c9d79d02f00182c40c29d33b907982c0556d Mon Sep 17 00:00:00 2001 From: Fuwn Date: Tue, 14 Jun 2022 20:08:51 -0700 Subject: feat: initial commit --- examples/addition.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ examples/macro.c | 31 +++++++++++++++++++++++ examples/meson.build | 11 ++++++++ 3 files changed, 113 insertions(+) create mode 100644 examples/addition.c create mode 100644 examples/macro.c create mode 100644 examples/meson.build (limited to 'examples') 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 . + * Copyright (C) 2022-2022 Fuwn + * + * 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 . + * + * Copyright (C) 2022-2022 Fuwn + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include + +/* 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 . + * Copyright (C) 2022-2022 Fuwn + * + * 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 . + * + * Copyright (C) 2022-2022 Fuwn + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include + +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) -- cgit v1.2.3