summaryrefslogtreecommitdiffstats
path: root/libcxx/test/libcxx/fuzzing/regex_awk.cpp
blob: 51ca6efa77c6b87e053b2f55f9e00e55f550c1c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// -*- C++ -*-
//===--------------------- regex_ECMAScript.cpp ---------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

// XFAIL

#include "fuzzing.h"
#include <cassert>
#include <cstring> // for strlen

const char * test_cases[] = {
	"",
	"s",
	"b*c",
	"ba?sf"
	"lka*ea",
	"adsf*kas;lnc441[0-9]1r34525234"
	};

const size_t k_num_tests = sizeof(test_cases)/sizeof(test_cases[0]);

int main ()
{
	for (size_t i = 0; i < k_num_tests; ++i)
		{
		const size_t   size = std::strlen(test_cases[i]);
		const uint8_t *data = (const uint8_t *) test_cases[i];
		assert(0 == fuzzing::regex_ECMAScript(data, size));
		}
	return 0;
}
OpenPOWER on IntegriCloud