2015-03-02 6 views
5

Ich verwende CTest und möchte Befehlszeilenargumente zur Laufzeit an die zugrunde liegenden Tests übergeben. Ich weiß, dass es Möglichkeiten gibt, Befehlszeilenargumente hart in das CMake/CTest-Skript zu codieren, aber ich möchte die Befehlszeilenargumente zur Laufzeit angeben und diese Argumente durch CTest an den zugrunde liegenden Test übergeben.Wie Übergeben von Befehlszeilenargumenten in CTest zur Laufzeit

Ist das überhaupt möglich?

+0

Haben Sie am Ende eine Lösung gefunden? – simon

+1

@simon Nein, habe ich nicht – jlconlin

Antwort

0

Ich bin mir nicht sicher, ob ich vollständig verstehe, was Sie wollen, aber ich kann Ihnen immer noch eine Möglichkeit geben, Argumente zu Tests in CTest zur Laufzeit zu übergeben.

Ich gebe Ihnen ein Beispiel, mit CTK (dem Common-Toolkit, https://github.com/commontk/CTK):

Im Build dir (ex: CTK-build/CTK-build, es ist ein Superbuild), wenn ich laufe: ('V' für Verbose und 'N' für View-Modus nur)

ctest -R ctkVTKDataSetArrayComboBoxTest1 -V -N 

ich:

UpdateCTestConfiguration from : /CTK-build/CTK-build/DartConfiguration.tcl 
Parse Config file:/CTK-build/CTK-build/DartConfiguration.tcl 
Add coverage exclude regular expressions. 
Add coverage exclude: /CMakeFiles/CMakeTmp/ 
Add coverage exclude: .*/moc_.* 
Add coverage exclude: .*/ui_.* 
Add coverage exclude: .*/Testing/.* 
Add coverage exclude: .*/CMakeExternals/.* 
Add coverage exclude: ./ctkPixmapIconEngine.* 
Add coverage exclude: ./ctkIconEngine.* 
UpdateCTestConfiguration from :/CTK-build/CTK-build/DartConfiguration.tcl 
Parse Config file:/CTK-build/CTK-build/DartConfiguration.tcl 
Test project /CTK-build/CTK-build 
Constructing a list of tests 
Done constructing a list of tests 

178: Test command: /CTK-build/CTK-build/bin/CTKVisualizationVTKWidgetsCppTests "ctkVTKDataSetArrayComboBoxTest1" 
Labels: CTKVisualizationVTKWidgets 
    Test #178: ctkVTKDataSetArrayComboBoxTest1 

Total Tests: 1 

Sie können copy-paste "Test-Befehl" im Terminal:

/CTK-build/CTK-build/bin/CTKVisualizationVTKWidgetsCppTests "ctkVTKDataSetArrayComboBoxTest1" 

Und die Argumente hinzufügen, zum Beispiel "-I" für interaktive Tests:

/CTK-build/CTK-build/bin/CTKVisualizationVTKWidgetsCppTests "ctkVTKDataSetArrayComboBoxTest1" "-I" 

Sag mir, wenn es hilft.

Verwandte Themen