language: cpp
compiler:
  - clang

before_install:
  - sudo apt-get update -qq
  - sudo apt-get install -qq libpcre3 libpcre3-dev gromacs
  - sudo apt-get install -qq swig doxygen llvm-3.3
  - sudo apt-get install -qq python-numpy python-scipy python-nose
  - export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.3

script:
  - cmake -DCMAKE_INSTALL_PREFIX=$HOME/OpenMM .
  - make -j2
  - make -j2 install
  - sudo make PythonInstall
  - # run all of the tests
  - ctest -j2 -V
  - # get a list of all of the failed tests into this stupid ctest format
  - python -c 'fn = "Testing/Temporary/LastTestsFailed.log"; import os; os.path.exists(fn) or exit(0); l = [line.split(":")[0] for line in open(fn)]; triplets = zip(l, l, [","]*len(l)); print "".join(",".join(t) for t in triplets)' > FailedTests.log
  - # rerun all of the failed tests
  - if [ -s FailedTests.log ]; then ctest -V -I FailedTests.log; fi;
  - # run the python tests too
  - cd python/tests
  - nosetests -vv
