summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/test/FuzzerFnAdapterUnittest.cpp
diff options
context:
space:
mode:
authorMike Aizatsky <aizatsky@chromium.org>2016-12-17 00:12:13 +0000
committerMike Aizatsky <aizatsky@chromium.org>2016-12-17 00:12:13 +0000
commita5c7efc6d4d6f5b502f49fa2a0f7a6816f89f202 (patch)
tree65fb9295a117fc6a01dd8f9d716bd331b637a65f /llvm/lib/Fuzzer/test/FuzzerFnAdapterUnittest.cpp
parentf07f9f8b5fa4059ce5749316b9fc30d21ea9abfb (diff)
downloadbcm5719-llvm-a5c7efc6d4d6f5b502f49fa2a0f7a6816f89f202.tar.gz
bcm5719-llvm-a5c7efc6d4d6f5b502f49fa2a0f7a6816f89f202.zip
[libfuzzer] removing experimental FuzzerFnAdapter
Summary: This is superceded by protobuf mutation work. Reviewers: kcc Subscribers: mgorny Differential Revision: https://reviews.llvm.org/D27865 llvm-svn: 290018
Diffstat (limited to 'llvm/lib/Fuzzer/test/FuzzerFnAdapterUnittest.cpp')
-rw-r--r--llvm/lib/Fuzzer/test/FuzzerFnAdapterUnittest.cpp110
1 files changed, 0 insertions, 110 deletions
diff --git a/llvm/lib/Fuzzer/test/FuzzerFnAdapterUnittest.cpp b/llvm/lib/Fuzzer/test/FuzzerFnAdapterUnittest.cpp
deleted file mode 100644
index 11be18096bc..00000000000
--- a/llvm/lib/Fuzzer/test/FuzzerFnAdapterUnittest.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-
-#include "FuzzerFnAdapter.h"
-#include "gtest/gtest-spi.h"
-#include "gtest/gtest.h"
-
-namespace fuzzer {
-namespace impl {
-
-template <typename... Args>
-bool Unpack(std::tuple<Args...> *Tuple, std::initializer_list<uint8_t> data) {
- std::vector<uint8_t> V(data);
- return Unpack(V.data(), V.size(), Tuple);
-}
-
-TEST(Unpack, Bool) {
- std::tuple<bool> T;
- EXPECT_TRUE(Unpack(&T, {1}));
- EXPECT_TRUE(std::get<0>(T));
-
- EXPECT_TRUE(Unpack(&T, {0}));
- EXPECT_FALSE(std::get<0>(T));
-
- EXPECT_FALSE(Unpack(&T, {}));
-}
-
-TEST(Unpack, BoolBool) {
- std::tuple<bool, bool> T;
- EXPECT_TRUE(Unpack(&T, {1, 0}));
- EXPECT_TRUE(std::get<0>(T));
- EXPECT_FALSE(std::get<1>(T));
-
- EXPECT_TRUE(Unpack(&T, {0, 1}));
- EXPECT_FALSE(std::get<0>(T));
- EXPECT_TRUE(std::get<1>(T));
-
- EXPECT_FALSE(Unpack(&T, {}));
- EXPECT_FALSE(Unpack(&T, {10}));
-}
-
-TEST(Unpack, BoolInt) {
- std::tuple<bool, int> T;
- EXPECT_TRUE(Unpack(&T, {1, 16, 2, 0, 0}));
- EXPECT_TRUE(std::get<0>(T));
- EXPECT_EQ(528, std::get<1>(T));
-
- EXPECT_FALSE(Unpack(&T, {1, 2}));
-}
-
-TEST(Unpack, Vector) {
- std::tuple<std::vector<uint8_t>> T;
- const auto &V = std::get<0>(T);
-
- EXPECT_FALSE(Unpack(&T, {}));
-
- EXPECT_TRUE(Unpack(&T, {0}));
- EXPECT_EQ(0ul, V.size());
-
- EXPECT_TRUE(Unpack(&T, {0, 1, 2, 3}));
- EXPECT_EQ(0ul, V.size());
-
- EXPECT_TRUE(Unpack(&T, {2}));
- EXPECT_EQ(0ul, V.size());
-
- EXPECT_TRUE(Unpack(&T, {2, 3}));
- EXPECT_EQ(1ul, V.size());
- EXPECT_EQ(3, V[0]);
-
- EXPECT_TRUE(Unpack(&T, {2, 9, 8}));
- EXPECT_EQ(2ul, V.size());
- EXPECT_EQ(9, V[0]);
- EXPECT_EQ(8, V[1]);
-}
-
-TEST(Unpack, String) {
- std::tuple<std::string> T;
- const auto &S = std::get<0>(T);
-
- EXPECT_TRUE(Unpack(&T, {2, 3}));
- EXPECT_EQ(1ul, S.size());
- EXPECT_EQ(3, S[0]);
-}
-
-template <typename Fn>
-bool UnpackAndApply(Fn F, std::initializer_list<uint8_t> Data) {
- std::vector<uint8_t> V(Data);
- return UnpackAndApply(F, V.data(), V.size());
-}
-
-static void fnBool(bool b) { EXPECT_TRUE(b); }
-
-TEST(Apply, Bool) {
- EXPECT_FALSE(UnpackAndApply(fnBool, {}));
- EXPECT_TRUE(UnpackAndApply(fnBool, {1}));
- EXPECT_NONFATAL_FAILURE(UnpackAndApply(fnBool, {0}),
- "Actual: false\nExpected: true");
-}
-
-static void fnInt(int i) { EXPECT_EQ(42, i); }
-
-TEST(Apply, Int) {
- EXPECT_FALSE(UnpackAndApply(fnInt, {}));
- EXPECT_TRUE(UnpackAndApply(fnInt, {42, 0, 0, 0}));
- EXPECT_NONFATAL_FAILURE(UnpackAndApply(fnInt, {10, 0, 0, 0}),
- "Actual: 10\nExpected: 42");
-}
-
-} // namespace impl
-} // namespace fuzzer
OpenPOWER on IntegriCloud