X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Futils%2Futils.h;h=afacf8d2f8cda641976aca064a6b52cf6c456fcd;hp=94891c0c64a3b2d8f29be1a922411f018466f677;hb=0c818c97b35a36971c326171d9aea5b0a432ced9;hpb=9ac429ef32142eaecfec2d1a44569464c4f8f721 diff --git a/tests/utils/utils.h b/tests/utils/utils.h index 94891c0c6..afacf8d2f 100644 --- a/tests/utils/utils.h +++ b/tests/utils/utils.h @@ -1,43 +1,40 @@ /* - * Copyright (c) - 2011 David Goulet + * Copyright (C) 2015 Jérémie Galarneau * - * 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 as - * published by the Free Software Foundation; only version 2 of the License. + * SPDX-License-Identifier: LGPL-2.1-only * - * 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, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include -#include +#ifndef TEST_UTILS_H +#define TEST_UTILS_H + +#if !defined(__GLIBC__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)) -#define BRIGHT 1 -#define GREEN 32 -#define RED 31 +/* + * Version using XSI strerror_r. + */ +#define PERROR_NO_LOGGER(msg, args...) \ + do { \ + char _perror_buf[200]; \ + strerror_r(errno, _perror_buf, sizeof(_perror_buf)); \ + fprintf(stderr, msg ": %s\n", ##args, _perror_buf); \ + } while (0); +#else +/* + * Version using GNU strerror_r, for linux with appropriate defines. + */ +#define PERROR_NO_LOGGER(msg, args...) \ + do { \ + char *_perror_buf; \ + char _perror_tmp[200]; \ + _perror_buf = strerror_r( \ + errno, _perror_tmp, sizeof(_perror_tmp)); \ + fprintf(stderr, msg ": %s\n", ##args, _perror_buf); \ + } while (0); +#endif -#define PRINT_OK() \ -do { \ - /* Check for color support */ \ - if (isatty(STDOUT_FILENO)) { \ - printf("%c[%d;%dmOK%c[%dm\n", 0x1B, BRIGHT, GREEN, 0x1B, 0); \ - } else { \ - printf("OK\n"); \ - } \ -} while (0) +int usleep_safe(useconds_t usec); +int create_file(const char *path); +int wait_on_file(const char *path); -#define PRINT_FAIL() \ -do { \ - /* Check for color support */ \ - if (isatty(STDOUT_FILENO)) { \ - printf("%c[%d;%dmFAIL%c[%dm\n", 0x1B, BRIGHT, RED, 0x1B, 0); \ - } else { \ - printf("FAIL\n"); \ - } \ -} while (0) +#endif /* TEST_UTILS_H */