1/* 2 * Copyright (c) 2003-2006,2011 Apple Inc. All Rights Reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 * 23 * testleaks.h 24 */ 25 26#ifndef _TESTLEAKS_H_ 27#define _TESTLEAKS_H_ 1 28 29#ifdef __cplusplus 30extern "C" { 31#endif 32 33 34#define ok_leaks(TESTNAME) \ 35({ \ 36 int _this = test_leaks(); \ 37 test_ok(!_this, TESTNAME, test_directive, test_reason, \ 38 __FILE__, __LINE__, \ 39 "# found: %d leaks\n", \ 40 _this); \ 41}) 42#define is_leaks(THAT, TESTNAME) \ 43({ \ 44 int _this = test_leaks(); \ 45 int _that = (THAT); \ 46 test_ok(_this == _that, TESTNAME, test_directive, test_reason, \ 47 __FILE__, __LINE__, \ 48 "# found: %d leaks\n" \ 49 "# expected: %d leaks\n", \ 50 _this, _that); \ 51}) 52 53int test_leaks(void); 54 55#ifdef __cplusplus 56} 57#endif 58 59#endif /* _TESTLEAKS_H_ */ 60