| 1234567891011121314151617181920212223242526272829303132333435 |
- with import <nixpkgs> { };
- pkgs.mkShell {
- name = "go-fuzz";
- buildInputs = [ go ];
- shellHook = ''
- function setup() {
- mkdir -p $GOPATH/src
- pushd $GOPATH/src
- go get github.com/dvyukov/go-fuzz/go-fuzz
- go get github.com/dvyukov/go-fuzz/go-fuzz-build
- popd
- }
- function teardown() {
- chmod -R u+w $GOPATH
- rm -rf $GOPATH
- }
- echo "Setup up fuzzing environment"
- export GOPATH=$(mktemp -d /tmp/GOPATH.XXXXXX)
- trap teardown EXIT
- setup
- alias fuzzbuild="$GOPATH/bin/go-fuzz-build -tags gofuzz -o fuzz.zip"
- alias fuzzlink="$GOPATH/bin/go-fuzz -bin=./fuzz.zip -workdir=testdata -func FuzzLinkMessage"
- alias fuzzaddress="$GOPATH/bin/go-fuzz -bin=./fuzz.zip -workdir=testdata -func FuzzAddressMessage"
- alias fuzzroute="$GOPATH/bin/go-fuzz -bin=./fuzz.zip -workdir=testdata -func FuzzRouteMessage"
- alias fuzzneigh="$GOPATH/bin/go-fuzz -bin=./fuzz.zip -workdir=testdata -func FuzzNeighMessage"
- echo "Fuzz environment ready. There are 5 aliases available:"
- echo ""
- echo "fuzzbuild - will build the fuzzing file"
- echo "fuzzlink - will start fuzzing Link Messages"
- echo "fuzzaddress - will start fuzzing Address Messages"
- echo "fuzzroute - will start fuzzing Route Messages"
- echo "fuzzneigh - will start fuzzing Neigh Messages"
- echo ""
- '';
- }
|