PyCIRCLean/.travis.yml

83 lines
2.4 KiB
YAML

language: python
python:
- 3.3
- 3.4
- 3.5
- 3.6
- "3.6-dev"
- nightly
sudo: required
# do we need sudo? should double check
dist: trusty
addons:
apt:
packages:
# General dependencies
- p7zip-full
# Testing dependencies
- mercurial
install:
# General dependencies
- sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ trusty multiverse" && sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ trusty-updates multiverse"
- sudo apt-get update -qq
- sudo apt-get install -y p7zip-rar python-pip
# filecheck.py dependencies
- sudo apt-get install libxml2-dev libxslt1-dev
- wget https://didierstevens.com/files/software/pdfid_v0_2_1.zip
- unzip pdfid_v0_2_1.zip
- pip install -U pip
- pip install lxml exifread pillow olefile
- pip install git+https://github.com/decalage2/oletools.git
- pip install git+https://github.com/grierforensics/officedissector.git
# PyCIRCLean dependencies
- pip install -r dev-requirements.txt
- pip install coveralls codecov
# Testing dependencies
- sudo apt-get install rar
# Prepare tests
# Malware from theZoo
- git clone https://github.com/Rafiot/theZoo.git
- pushd theZoo/malwares/Binaries
- python unpackall.py
- popd
- mv theZoo/malwares/Binaries/out tests/dangerous/
# Path traversal attacks
- git clone https://github.com/jwilk/path-traversal-samples
- pushd path-traversal-samples
- pushd zip
- make
- popd
- pushd rar
- make
- popd
- popd
- mv path-traversal-samples/zip/*.zip tests/dangerous/
- mv path-traversal-samples/rar/*.rar tests/dangerous/
# Office docs
- git clone https://github.com/eea/odfpy.git
- mv odfpy/tests/examples/* tests/dangerous/
- pushd tests/dangerous/
- wget https://bitbucket.org/decalage/olefileio_pl/raw/3073963b640935134ed0da34906fea8e506460be/Tests/images/test-ole-file.doc
- wget --no-check-certificate https://www.officedissector.com/corpus/fraunhoferlibrary.zip
- unzip -o fraunhoferlibrary.zip
- rm fraunhoferlibrary.zip
- 7z x -p42 42.zip
- popd
script:
- travis_wait 30 py.test --cov=kittengroomer --cov=bin tests/
notifications:
email:
on_success: change
on_failure: change
after_success:
- coveralls
- codecov