Blame libglusterfs/src/unittest/unittest.h

Packit b2c0d9
/*
Packit b2c0d9
  Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com>
Packit b2c0d9
  This file is part of GlusterFS.
Packit b2c0d9
Packit b2c0d9
  This file is licensed to you under your choice of the GNU Lesser
Packit b2c0d9
  General Public License, version 3 or any later version (LGPLv3 or
Packit b2c0d9
  later), or the GNU General Public License, version 2 (GPLv2), in all
Packit b2c0d9
  cases as published by the Free Software Foundation.
Packit b2c0d9
*/
Packit b2c0d9
Packit b2c0d9
#ifndef _GF_UNITTEST_H_
Packit b2c0d9
#define _GF_UNITTEST_H_
Packit b2c0d9
Packit b2c0d9
#ifdef UNIT_TESTING
Packit b2c0d9
#include <stdarg.h>
Packit b2c0d9
#include <stddef.h>
Packit b2c0d9
#include <setjmp.h>
Packit b2c0d9
#include <cmocka_pbc.h>
Packit b2c0d9
#include <cmocka.h>
Packit b2c0d9
Packit b2c0d9
extern void
Packit b2c0d9
mock_assert(const int result, const char *const expression,
Packit b2c0d9
            const char *const file, const int line);
Packit b2c0d9
Packit b2c0d9
// Change GF_CALLOC and GF_FREE to use
Packit b2c0d9
// cmocka memory allocation versions
Packit b2c0d9
#ifdef UNIT_TESTING
Packit b2c0d9
#undef GF_CALLOC
Packit b2c0d9
#define GF_CALLOC(n, s, t) test_calloc(n, s)
Packit b2c0d9
#undef GF_FREE
Packit b2c0d9
#define GF_FREE test_free
Packit b2c0d9
Packit b2c0d9
/* Catch intended assert()'s while unit-testing */
Packit b2c0d9
extern void
Packit b2c0d9
mock_assert(const int result, const char *const expression,
Packit b2c0d9
            const char *const file, const int line);
Packit b2c0d9
Packit b2c0d9
#undef assert
Packit b2c0d9
#define assert(expression)                                                     \
Packit b2c0d9
    mock_assert((int)(expression), #expression, __FILE__, __LINE__);
Packit b2c0d9
#endif
Packit b2c0d9
#else
Packit b2c0d9
#define REQUIRE(p) /**/
Packit b2c0d9
#define ENSURE(p)  /**/
Packit b2c0d9
#endif
Packit b2c0d9
Packit b2c0d9
#endif /* _GF_UNITTEST */