test_cstring.cpp revision b381ead492251a797d2df4b260cb01eb1f64cfad
1c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall/* 2c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * Copyright (C) 2009 The Android Open Source Project 3c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * All rights reserved. 4c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * 5c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * Redistribution and use in source and binary forms, with or without 6c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * modification, are permitted provided that the following conditions 7c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * are met: 8c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * * Redistributions of source code must retain the above copyright 9c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * notice, this list of conditions and the following disclaimer. 10c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * * Redistributions in binary form must reproduce the above copyright 11c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * notice, this list of conditions and the following disclaimer in 12c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * the documentation and/or other materials provided with the 13c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * distribution. 14c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * 15c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 18c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 19c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 20c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 21c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 22c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 23c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall * SUCH DAMAGE. 27c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall */ 28c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall 29c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall#include <cstring> 30c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall#if defined BIONIC && !defined BIONIC_LIBSTDCPP_INCLUDE_CSTRING__ 31c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall#error "Wrong header file included!!" 32c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall#endif 33c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall 34c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallnamespace { 35c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallconst int kPassed = 0; 36c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallconst int kFailed = 1; 37c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall#define FAIL_UNLESS(f) if (!android::f()) return kFailed; 38c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall} // anonymous namespace 39c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall 40c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallnamespace android 41c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall{ 42c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::memchr; 43c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::memcmp; 44c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::memcpy; 45c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::memmove; 46c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::memset; 47c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strcat; 48c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strchr; 49c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strcmp; 50c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strcoll; 51c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strcpy; 52c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strcspn; 53c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strerror; 54c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strlen; 55c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strncat; 56c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strncmp; 57c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strncpy; 58c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strpbrk; 59c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strrchr; 60c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallusing std::strspn; 61e50ac5f7771872331df70251d23d6bd8155da4a7Jeff Sharkeyusing std::strstr; 62e50ac5f7771872331df70251d23d6bd8155da4a7Jeff Sharkeyusing std::strtok; 63e50ac5f7771872331df70251d23d6bd8155da4a7Jeff Sharkeyusing std::strxfrm; 64e50ac5f7771872331df70251d23d6bd8155da4a7Jeff Sharkey 65e50ac5f7771872331df70251d23d6bd8155da4a7Jeff Sharkey#ifndef NULL 66e50ac5f7771872331df70251d23d6bd8155da4a7Jeff Sharkey#error "NULL must be a macro" 67c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall#endif 68c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall 69c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallvolatile std::size_t size; 70c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall 71c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall} // namespace android 72c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall 73c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrallint main(int argc, char **argv) 74c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall{ 75c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall return kPassed; 76c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall} 77c1bf89663ca71949b508007d4df2b5b06038f96dKen Sumrall