Wie teste ich Python und C ++ in einer .travis.yml, ohne die C ++ mehrmals zu laufen?

Https://github.com/travis-ci/travis-ci/issues/538 scheint nicht wirklich zu helfen. Ich habe diese .travis.yml für libais:

language: python python: - "2.7" - "3.4" before_install: - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt-get update -qq install: - sudo apt-get install -qq gcc-4.8 g++-4.8 - CC=g++-4.8 python setup.py install script: - python setup.py test - (cd src && CC=gcc-4.8 CXX=g++-4.8 make -f Makefile-custom test) 

Die letzte Zeile des Skripts löst die C ++ – Tests aus.

Es ist toll, dass es die libais gunit C ++ Tests läuft, aber leider sind sie laufen 2x. Einmal für jede Python-Version. Ich würde es vorziehen, die zusätzliche Last nicht zu travis-ci hinzuzufügen. Gibt es eine Möglichkeit, das zu tun?

  • Wie konvertiert man einen gdb-Wert zu einem python-Ziffernobjekt beim Debuggen von C-Programm
  • Zugriff auf c_char_p_Array_256 in Python mit Ctypes
  • Python-Snippet, um C- und C ++ - Kommentare zu entfernen
  • Cutdown uuid weiter, um kurze String zu machen
  • Abrufen des Rückgabewerts eines Python-Skripts
  • OpenCV Dot Ziel Erkennung nicht finden alle Ziele, und gefunden Kreise sind versetzt
  • 2 Solutions collect form web for “Wie teste ich Python und C ++ in einer .travis.yml, ohne die C ++ mehrmals zu laufen?”

    Basierend auf Dominic's Antwort, sah ich auf http://docs.travis-ci.com/user/ci-environment/ und fand TRAVIS_PYTHON_VERSION. Also keine Notwendigkeit, mit irgendwelchen Dateien zu spielen.

     script: - python setup.py test - if [[ $TRAVIS_PYTHON_VERSION == '3.4' ]]; then (cd src && CC=gcc-4.8 CXX=g++-4.8 make -f Makefile-custom test); fi 

    Eine schnelle Idee: vielleicht könnten Sie einen Scheck für die Existenz einer Datei vor der Entscheidung, um Ihre C + + -Tests laufen zu tun?

    Z.B

     - [[ -f $FILE ]] || (cd src && CC=gcc-4.8 CXX=g++-4.8 make -f Makefile-custom test) 

    Die zu prüfende Datei könnte zB der Bericht Ihrer C ++ – Unit-Tests sein. Wenn es schon da ist, lauf sie nicht zum zweiten Mal.

    Python ist die beste Programmiersprache der Welt.