11aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania/* 21aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * Copyright (C) 2009 The Android Open Source Project 31aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * All rights reserved. 41aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * 51aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * Redistribution and use in source and binary forms, with or without 61aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * modification, are permitted provided that the following conditions 71aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * are met: 81aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * * Redistributions of source code must retain the above copyright 91aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * notice, this list of conditions and the following disclaimer. 101aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * * Redistributions in binary form must reproduce the above copyright 111aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * notice, this list of conditions and the following disclaimer in 121aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * the documentation and/or other materials provided with the 131aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * distribution. 141aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * 151aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 161aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 171aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 181aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 191aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 201aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 211aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 221aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 231aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 241aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 251aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 261aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania * SUCH DAMAGE. 271aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania */ 281aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania 291aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania#include <cstdlib> 30b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner#if defined BIONIC && !defined BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__ 311aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania#error "Wrong header file included!!" 321aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania#endif 331aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania 341aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania 351aa5708e437b96e04f31d9c9f167427411ba5510Niko Catanianamespace { 361aa5708e437b96e04f31d9c9f167427411ba5510Niko Cataniaconst int kPassed = 0; 371aa5708e437b96e04f31d9c9f167427411ba5510Niko Cataniaconst int kFailed = 1; 381aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania#define FAIL_UNLESS(f) if (!android::f()) return kFailed; 391aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania} // anonymous namespace 401aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania 411aa5708e437b96e04f31d9c9f167427411ba5510Niko Catanianamespace android 421aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania{ 43b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::exit; 44b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::abort; 45b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::atexit; 46b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::on_exit; 47b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 48b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::getenv; 49b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::putenv; 50b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::setenv; 51b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::unsetenv; 52b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::clearenv; 53b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 54b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::mktemp; 55b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::mkstemp; 56b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 57b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::strtol; 58b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::strtoll; 59b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::strtoul; 60b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::strtoull; 61b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::strtod; 62b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::strtof; 63b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 64b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::atoi; 65b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::atol; 66b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::atoll; 67b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::atof; 68b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 69b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::abs; 70b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::labs; 71b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::llabs; 72b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 73b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::realpath; 74b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::system; 75b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 76b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::bsearch; 77b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::qsort; 78b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 79b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::jrand48; 80b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::mrand48; 81b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::nrand48; 82b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::lrand48; 83b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::seed48; 84b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::srand48; 85b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 86b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::rand; 87b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::srand; 88b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::random; 89b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::srandom; 90b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 91b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::malloc; 92b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::free; 93b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::calloc; 94b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::realloc; 95b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 96b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::unlockpt; 97b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::ptsname; 98b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::ptsname_r; 99b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::getpt; 100b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::grantpt; 101b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 102b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::div_t; 103b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::div; 104b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::ldiv_t; 105b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::ldiv; 106b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::lldiv_t; 107b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::lldiv; 108b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner 109b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::mblen; 110b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::mbstowcs; 111b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::mbtowc; 112b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::wctomb; 113b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turnerusing ::wcstombs; 1141aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania} // namespace android 1151aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania 1161aa5708e437b96e04f31d9c9f167427411ba5510Niko Cataniaint main(int argc, char **argv) 1171aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania{ 1181aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania // FAIL_UNLESS(testTypesStd); 1191aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania return kPassed; 1201aa5708e437b96e04f31d9c9f167427411ba5510Niko Catania} 121