diff options
Diffstat (limited to 'tests/variadic_functions.sh')
| -rw-r--r-- | tests/variadic_functions.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/variadic_functions.sh b/tests/variadic_functions.sh index 4f899ee..155fc1a 100644 --- a/tests/variadic_functions.sh +++ b/tests/variadic_functions.sh @@ -29,3 +29,23 @@ int main() { return 0; } EOF + +test_exit_code 0 <<'EOF' +#include <stdarg.h> +#include <helpers.h> + +int sum(int n, ...) { + va_list args; + va_start(args, n); + int s = 0; + for (int i = 0; i < n; ++i) { + s += va_arg(args, int); + } + va_end(args); + return s; +} + +int main() { + ASSERT_EQ(400, sum(5, 100, 90, 80, 70, 60)); +} +EOF |
