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/src_invalid/
    # 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/src_invalid/
    - mv path-traversal-samples/rar/*.rar tests/src_invalid/
    # Office docs
    - git clone https://github.com/eea/odfpy.git
    - mv odfpy/tests/examples/* tests/src_invalid/
    - pushd tests/src_invalid/
    - 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
    # Some random samples
    # - wget http://www.sample-videos.com/audio/mp3/india-national-anthem.mp3
    # - wget http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
    - wget http://thewalter.net/stef/software/rtfx/sample.rtf
    - popd

script:
    - travis_wait 30 py.test --cov=kittengroomer --cov=bin tests/

notifications:
    email:
        on_success: change
        on_failure: change

after_success:
    - coveralls
    - codecov