129ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow// -*- C++ -*- 229ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow//===----------------------- nth_element.cpp ------------------------------===// 329ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow// 429ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow// The LLVM Compiler Infrastructure 529ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow// 629ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow// This file is dual licensed under the MIT and the University of Illinois Open 729ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow// Source Licenses. See LICENSE.TXT for details. 829ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow// 929ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow//===----------------------------------------------------------------------===// 1029ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow 1129ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow// XFAIL 1229ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow 1329ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow#include "fuzzing.h" 1429ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow#include <cassert> 1529ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow#include <cstring> // for strlen 1629ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow 1729ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clowconst char * test_cases[] = { 1829ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow "", 1929ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow "s", 2029ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow "bac", 2129ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow "bacasf" 2229ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow "lkajseravea", 2329ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow "adsfkajdsfjkas;lnc441324513,34535r34525234" 2429ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow }; 2529ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow 2629ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clowconst size_t k_num_tests = sizeof(test_cases)/sizeof(test_cases[0]); 2729ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow 2829ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow 2929ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clowint main () 3029ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow{ 3129ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow for (size_t i = 0; i < k_num_tests; ++i) 3229ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow { 3329ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow const size_t size = std::strlen(test_cases[i]); 3429ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow const uint8_t *data = (const uint8_t *) test_cases[i]; 3529ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow assert(0 == fuzzing::nth_element(data, size)); 3629ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow } 3729ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow return 0; 3829ae2ba6563a9b74bedc9dfd0c5214722e008caaMarshall Clow} 39