diff options
author | Mike Aizatsky <aizatsky@chromium.org> | 2016-12-17 00:12:13 +0000 |
---|---|---|
committer | Mike Aizatsky <aizatsky@chromium.org> | 2016-12-17 00:12:13 +0000 |
commit | a5c7efc6d4d6f5b502f49fa2a0f7a6816f89f202 (patch) | |
tree | 65fb9295a117fc6a01dd8f9d716bd331b637a65f /llvm/lib/Fuzzer/test/FuzzerFnAdapterUnittest.cpp | |
parent | f07f9f8b5fa4059ce5749316b9fc30d21ea9abfb (diff) | |
download | bcm5719-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.cpp | 110 |
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 |