PyCIRCLean/.travis.yml

97 lines
3.2 KiB
YAML

language: python
python:
- "2.7_with_system_site_packages"
- "3.3"
- "3.4"
- "3.5"
- "nightly"
sudo: required
dist: trusty
addons:
apt:
packages:
# General dependencies
- p7zip-full
# generic.py dependencies
- ghostscript
# Testing dependencies
- mercurial
install:
- pip install -U pip
# 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
# generic.py: pdf2htmlEX + dependencies
- sudo add-apt-repository ppa:fontforge/fontforge --yes
# to get a working 0.26 poppler
- sudo add-apt-repository ppa:delayargentina/delayx --yes
- sudo apt-get update -qq
- sudo apt-get install -y libpoppler-dev libpoppler-private-dev libspiro-dev libcairo-dev libpango1.0-dev libfreetype6-dev libltdl-dev libfontforge-dev python-imaging python-pip firefox xvfb
- git clone https://github.com/coolwanglu/pdf2htmlEX.git
- pushd pdf2htmlEX
- cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DENABLE_SVG=ON .
- make
- sudo make install
- popd
# generic.py: Other dependencies
- sudo apt-get install -y libreoffice libreoffice-script-provider-python unoconv
# filecheck.py dependencies
- sudo apt-get install libxml2-dev libxslt1-dev
- pip install -U lxml exifread pillow
- pip install git+https://github.com/Rafiot/officedissector.git
- sudo pip install -U pip lxml exifread pillow
- sudo pip install git+https://github.com/Rafiot/officedissector.git
- if [ $(python -c 'import sys; print(sys.version_info.major)') == '2' ]; then pip install oletools olefile ; fi
- if [ $(python -c 'import sys; print(sys.version_info.major)') == '2' ]; then sudo pip install oletools olefile ; fi
- wget https://didierstevens.com/files/software/pdfid_v0_2_1.zip
- unzip pdfid_v0_2_1.zip
- python setup.py -q install
# Testing dependencies
- sudo apt-get install rar
- pip install coveralls
- pip install codecov
# Prepare testings
# Zoo
- git clone https://github.com/Rafiot/theZoo.git
- pushd theZoo/malwares/Binaries
- python unpackall.py
- popd
- mv theZoo/malwares/Binaries/out tests/src/
# path transversal
- hg clone https://bitbucket.org/jwilk/path-traversal-samples
- pushd path-traversal-samples
- pushd zip
- make
- popd
- pushd rar
- make
- popd
- popd
- mv path-traversal-samples/zip/*.zip tests/src/
- mv path-traversal-samples/rar/*.rar tests/src/
# Office docs
- pushd tests/src/
- wget https://bitbucket.org/decalage/olefileio_pl/raw/3073963b640935134ed0da34906fea8e506460be/Tests/images/test-ole-file.doc
- wget http://www.officedissector.com/corpus/fraunhoferlibrary.zip
- unzip -o fraunhoferlibrary.zip
- rm fraunhoferlibrary.zip
- popd
script:
- travis_wait 60 coverage run --source=bin,kittengroomer setup.py test
notifications:
email:
on_success: change
on_failure: change
after_success:
- coveralls
- codecov