File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ perf_event_tests.tar.gz
2+ perf_event_tests
3+ log
Original file line number Diff line number Diff line change 1+ help :
2+ @echo " perf_event_tests (perf fuzzer)"
3+ @echo " Available targets:"
4+ @echo " download # download required sources"
5+ @echo " prepare # download and install dependencies"
6+ @echo " test # run the API tests and ~5 minute fuzz test"
7+ @echo " longfuzz # run ~30 minute fuzz test"
8+
9+ tarball = perf_event_tests.tar.gz
10+
11+ download : $(tarball )
12+
13+ $(tarball ) :
14+ wget --no-verbose -O $@ .tmp https://github.com/deater/perf_event_tests/tarball/master
15+ mv $@ .tmp $@
16+
17+ prepare : download
18+ @./install-deps.sh
19+
20+ perf_event_tests : $(tarball )
21+ @./install-deps.sh
22+ +@./build.sh
23+
24+ build : perf_event_tests
25+
26+ test : perf_event_tests
27+ +@./test.sh api-test 5m
28+
29+ shortfuzz : perf_event_tests
30+ +@./test.sh - 2m
31+
32+ longfuzz : perf_event_tests
33+ +@./test.sh - 30m
34+
35+ clean :
36+ rm -rf perf_event_tests log
37+
38+ distclean : clean
39+ rm -f $(tarball )
40+
41+ .PHONY : download prepare build test clean distclean help longfuzz
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ set -euo pipefail
4+
5+ rm -rf perf_event_tests
6+ tar -xf perf_event_tests.tar.gz
7+ mv deater-perf_event_tests* perf_event_tests
8+ touch perf_event_tests
9+
10+ if [[ -n ${MAKEFLAGS:- } ]]; then
11+ # Don't override existing make flags
12+ jflags=
13+ else
14+ jflags=" -j $( nproc) "
15+ fi
16+
17+ echo " Sending output to $PWD /log."
18+ rm -f log
19+
20+ {
21+ cd perf_event_tests
22+
23+ (set -x; make $jflags )
24+
25+ echo " success: perf_event_tests" >&2
26+
27+ } 2>&1 >> log | tee -a log
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ set -euo pipefail
4+
5+ . /etc/os-release
6+
7+ sudo=" "
8+ if [[ $( id -u) != 0 ]]; then
9+ sudo=" sudo"
10+ fi
11+
12+ if [[ " $ID " == " fedora" ]]; then
13+ (set -x; $sudo dnf -y install make gcc)
14+ elif [[ " $ID_LIKE " == " debian" ]]; then
15+ export DEBIAN_FRONTEND=noninteractive
16+ (set -x; $sudo apt-get -y install build-essential)
17+ else
18+ echo " Unsupported distro!" >&2
19+ exit 1
20+ fi
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ set -euo pipefail
4+
5+ sudo=" "
6+ if [[ $( id -u) != 0 ]]; then
7+ sudo=" sudo"
8+ fi
9+
10+ echo " Sending output to $PWD /log."
11+ rm -f log
12+
13+ {
14+ cd perf_event_tests
15+
16+ if [[ " ${1-} " == " api-test" ]]; then
17+ (set -x; $sudo ./run_tests.sh)
18+ fi
19+
20+ if [[ -n " ${2-} " ]]; then
21+ cd fuzzer
22+ (set -x; timeout --foreground " $2 " $sudo ./perf_fuzzer)
23+ cd -
24+ fi
25+
26+ echo " success: perf_event_tests" >&2
27+
28+ } 2>&1 >> log | tee -a log
You can’t perform that action at this time.
0 commit comments