mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 11:36:06 +00:00
[libFuzzer] Remove entropic-scale-per-exec-time.test.
The test has been flaky for years, and I think we should remove it to eliminate noise on the buildbot. Neither me nor dokyungs have been able to fully deflake the test, and it tests a non-default Entropic flag. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D115453
This commit is contained in:
parent
f86deb18ca
commit
2d6dfce4aa
@ -1,51 +0,0 @@
|
||||
// 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
|
||||
|
||||
// Tests whether scaling the Entropic scheduling weight based on input execution
|
||||
// time is effective or not. Inputs of size less than 7 will take at least 100
|
||||
// microseconds more than inputs of size greater than or equal to 7. Inputs of
|
||||
// size greater than 7 in the corpus should be favored by the exec-time-scaled
|
||||
// Entropic scheduling policy than the input of size less than 7 in the corpus,
|
||||
// eventually finding the crashing input with less executions.
|
||||
#include <chrono>
|
||||
#include <cstdint>
|
||||
#include <thread>
|
||||
|
||||
static volatile int Sink;
|
||||
static volatile int *Nil = nullptr;
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
|
||||
if (Size > 10)
|
||||
return 0; // To make the test quicker.
|
||||
|
||||
if (Size < 7) {
|
||||
// execute a lot slower than the crashing input below.
|
||||
size_t ExecTimeUSec = 100;
|
||||
std::this_thread::sleep_for(std::chrono::microseconds(ExecTimeUSec));
|
||||
Sink = 7;
|
||||
|
||||
if (Size > 0 && Data[0] == 0xaa && Size > 1 && Data[1] == 0xbb &&
|
||||
Size > 2 && Data[2] == 0xcc && Size > 3 && Data[3] == 0xdd &&
|
||||
Size > 4 && Data[4] == 0xee && Size > 5 && Data[5] == 0xff)
|
||||
Sink += 7;
|
||||
}
|
||||
|
||||
// Give unique coverage for each input of size (7, 8, 9, 10)
|
||||
if (Size == 7)
|
||||
Sink = -7;
|
||||
|
||||
if (Size == 8)
|
||||
Sink = -8;
|
||||
|
||||
if (Size == 9)
|
||||
Sink = -9;
|
||||
|
||||
if (Size == 10)
|
||||
Sink = -10;
|
||||
|
||||
if (Sink < 0 && Data[0] == 0xab && Data[1] == 0xcd)
|
||||
*Nil = 42; // crash.
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
REQUIRES: linux, x86_64
|
||||
RUN: %cpp_compiler %S/EntropicScalePerExecTimeTest.cpp -o %t-EntropicScalePerExecTimeTest
|
||||
RUN: not %run %t-EntropicScalePerExecTimeTest -entropic=1 -entropic_scale_per_exec_time=1 -seed=1 -runs=200000 -max_len=10
|
||||
|
||||
# Without -entropic_scale_per_exec_time=1, the crash takes longer to find since
|
||||
# the slow path is explored first. This test is disabled because it sometimes
|
||||
# finds the bug under certain configs.
|
||||
DISABLED: %run %t-EntropicScalePerExecTimeTest -entropic=1 -seed=1 -runs=200000 -max_len=10
|
Loading…
x
Reference in New Issue
Block a user