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