google / google/fuzztest

Provide samples of well-known, complexer domains

Open
#603 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
C++
Stars
1.1k
Forks
137
Avg merge
3d 6h
Merged PRs (30d)
22

Description

An example for a well-known domain (for example, xml) would be very helpful.
The idea of xml is fairly simple, but the domain is actually pretty complex.

Without understanding everything, I gobbled together something like this:
```
auto XmlOpenTag() {
return InRegexp("<[^(/><.)]+>");
}

auto XmlCloseTag() {
return InRegexp("<.)]+>");
}

auto XmlEmptyTag() {
return InRegexp("<[^(/><.)]+/>");
}

FUZZ_TEST(XMLTest, XMLReadFromStringHasNoUndefinedBehavior)
.WithDomains(OneOf(XmlOpenTag(), XmlCloseTag(), XmlEmptyTag(), Arbitrary()))
.WithSeeds([]() -> std::vector> {
return {
{ "" },
{ "" },
{ "garbage" },
{ "garbage" },
{ "" },
};
});
```

But this is far from a decent implementation.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.