Vagrantfile 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. # A virtual machine to run https://github.com/google/oss-fuzz
  2. Vagrant.configure(2) do |config|
  3. config.vm.box = "ubuntu/xenial64"
  4. config.vm.synced_folder "E:\\Git\\Arduino\\libraries\\ArduinoJson", "/host/ArduinoJson"
  5. config.vm.synced_folder "E:\\Git\\oss-fuzz", "/host/oss-fuzz"
  6. config.vm.network "forwarded_port", guest: 8001, host: 8001
  7. config.vm.provision "shell", privileged: false, inline: <<-SHELL
  8. set -x
  9. sudo apt-get update
  10. sudo apt-get install -y make git docker.io zip
  11. sudo groupadd docker
  12. sudo usermod -aG docker $USER
  13. git clone https://github.com/google/fuzzer-test-suite.git FTS
  14. ./FTS/tutorial/install-deps.sh # Get deps
  15. ./FTS/tutorial/install-clang.sh # Get fresh clang binaries
  16. # Get libFuzzer sources and build it
  17. svn co http://llvm.org/svn/llvm-project/llvm/trunk/lib/Fuzzer
  18. Fuzzer/build.sh
  19. sudo mv libFuzzer.a /usr/local/lib/
  20. echo "export PROJECT_NAME='arduinojson'" >> $HOME/.profile
  21. echo "export CC='clang'" >> $HOME/.profile
  22. echo "export CXX='clang++'" >> $HOME/.profile
  23. echo "export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/" >> $HOME/.profile
  24. echo "Run /host/ArduinoJson/fuzzing/fuzz.sh" | sudo tee /etc/motd
  25. SHELL
  26. end