/* * bug-setlocale: unit test for wrong setlocale() calls * Copyright © 2016 Sam Hocevar * All Rights Reserved * * This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute it * and/or modify it under the terms of the Do What the Fuck You Want * to Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ #include "config.h" #if !defined(__KERNEL__) # include # include # include #endif #include "caca.h" #define TEST(x) \ do \ { \ tests++; \ if((x)) \ passed++; \ else \ fprintf(stderr, "test #%i failed: %s\n", (tests), #x); \ } \ while(0) int main(int argc, char *argv[]) { char buf[10]; char const * const * list; list = caca_get_display_driver_list(); int i, tests = 0, passed = 0; snprintf(buf, 10, "%.1f", 0.0f); TEST(buf[1] == '.'); for (i = 0; list[i]; i += 2) { if (!strcmp(list[i], "x11") || !strcmp(list[i], "ncurses")) { caca_display_t *dp = caca_create_display_with_driver(NULL, list[i]); snprintf(buf, 10, "%.1f", 0.0f); TEST(buf[1] == '.'); caca_free_display(dp); } } fprintf(stderr, "%i tests, %i errors\n", tests, tests - passed); return 0; }