xref: /aosp_15_r20/external/libcxx/test/libcxx/fuzzing/nth_element.cpp (revision 58b9f456b02922dfdb1fad8a988d5fd8765ecb80)
1*58b9f456SAndroid Build Coastguard Worker // -*- C++ -*-
2*58b9f456SAndroid Build Coastguard Worker //===----------------------- nth_element.cpp ------------------------------===//
3*58b9f456SAndroid Build Coastguard Worker //
4*58b9f456SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
5*58b9f456SAndroid Build Coastguard Worker //
6*58b9f456SAndroid Build Coastguard Worker // This file is dual licensed under the MIT and the University of Illinois Open
7*58b9f456SAndroid Build Coastguard Worker // Source Licenses. See LICENSE.TXT for details.
8*58b9f456SAndroid Build Coastguard Worker //
9*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
10*58b9f456SAndroid Build Coastguard Worker 
11*58b9f456SAndroid Build Coastguard Worker // XFAIL
12*58b9f456SAndroid Build Coastguard Worker 
13*58b9f456SAndroid Build Coastguard Worker #include "fuzzing.h"
14*58b9f456SAndroid Build Coastguard Worker #include <cassert>
15*58b9f456SAndroid Build Coastguard Worker #include <cstring> // for strlen
16*58b9f456SAndroid Build Coastguard Worker 
17*58b9f456SAndroid Build Coastguard Worker const char * test_cases[] = {
18*58b9f456SAndroid Build Coastguard Worker 	"",
19*58b9f456SAndroid Build Coastguard Worker 	"s",
20*58b9f456SAndroid Build Coastguard Worker 	"bac",
21*58b9f456SAndroid Build Coastguard Worker 	"bacasf"
22*58b9f456SAndroid Build Coastguard Worker 	"lkajseravea",
23*58b9f456SAndroid Build Coastguard Worker 	"adsfkajdsfjkas;lnc441324513,34535r34525234"
24*58b9f456SAndroid Build Coastguard Worker 	};
25*58b9f456SAndroid Build Coastguard Worker 
26*58b9f456SAndroid Build Coastguard Worker const size_t k_num_tests = sizeof(test_cases)/sizeof(test_cases[0]);
27*58b9f456SAndroid Build Coastguard Worker 
28*58b9f456SAndroid Build Coastguard Worker 
main()29*58b9f456SAndroid Build Coastguard Worker int main ()
30*58b9f456SAndroid Build Coastguard Worker {
31*58b9f456SAndroid Build Coastguard Worker 	for (size_t i = 0; i < k_num_tests; ++i)
32*58b9f456SAndroid Build Coastguard Worker 		{
33*58b9f456SAndroid Build Coastguard Worker 		const size_t   size = std::strlen(test_cases[i]);
34*58b9f456SAndroid Build Coastguard Worker 		const uint8_t *data = (const uint8_t *) test_cases[i];
35*58b9f456SAndroid Build Coastguard Worker 		assert(0 == fuzzing::nth_element(data, size));
36*58b9f456SAndroid Build Coastguard Worker 		}
37*58b9f456SAndroid Build Coastguard Worker 	return 0;
38*58b9f456SAndroid Build Coastguard Worker }
39