mirror of https://github.com/google/oss-fuzz.git
32 lines
927 B
C++
32 lines
927 B
C++
// Copyright 2017 Google Inc. All Rights Reserved.
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
// Simple unit test for DoStuff().
|
|
// This unit test does not cover the existing bug in DoStuff(),
|
|
// unless you pass an extra parameter ("BUG").
|
|
#include "my_api.h"
|
|
|
|
#include <cassert>
|
|
#include <iostream>
|
|
|
|
void TestDoStuff(const std::string &str, size_t Expected) {
|
|
size_t Result = DoStuff(str);
|
|
std::cerr << str << " => " << Result << std::endl;
|
|
assert(Result == Expected);
|
|
}
|
|
|
|
int main(int argc, char **argv) {
|
|
// Test some simple inputs, verify the output.
|
|
TestDoStuff("", 0);
|
|
TestDoStuff("foo", 1);
|
|
TestDoStuff("omg", 1);
|
|
TestDoStuff("bar", 1);
|
|
TestDoStuff("ouch", 1);
|
|
TestDoStuff("foobar", 3);
|
|
TestDoStuff("foouchbar", 4);
|
|
if (argc == 2 && std::string(argv[1]) == "BUG") {
|
|
// This is the missing test that actually triggers the bug.
|
|
TestDoStuff("foouchbaromg", 4);
|
|
}
|
|
}
|