2013-02-04 5 views
8

Come faccio a sapere quale versione di Gtest viene utilizzata nel progetto con cui sto lavorando? Sto lavorando su una piattaforma Linux.Stabilire la versione gtest

+0

stai infondendo o collegando? –

+0

@ BЈовић Collegamento – Baz

+0

Quali file di gtest vedi nel tuo progetto? Riesci a trovare la cartella in cui gtest/gtest.h è in? – Strubbl

risposta

0

Il file CHANGES, nella directory home gtest, contiene un numero di versione gtest.

1

Il codice sorgente di libgtest o libgtest_main librerie non contiene funzioni speciali che permettono di riconoscere la loro versione (qualcosa come GetGTestVersion() o qualcos'altro). Anche i file di intestazione non hanno identificatori definiti (qualcosa come GTEST_VERSION o altro). Quindi non è possibile controllare la versione di Google C++ Testing Framework in fase di esecuzione all'interno del codice utente.

Ma manutentori fornire, nell'ambito del quadro speciale script scripts/gtest-conf cui:

... 
provides access to the necessary compile and linking 
flags to connect with Google C++ Testing Framework, both in a build prior to 
installation, and on the system proper after installation. 
... 

Tra le altre cose questo script ha diverse opzioni che collegava con la versione:

... 
Installation Queries: 
... 
--version the version of the Google Test installation 

Version Queries: 
--min-version=VERSION return 0 if the version is at least VERSION 
--exact-version=VERSION return 0 if the version is exactly VERSION 
--max-version=VERSION return 0 if the version is at most VERSION 
... 

Lo script contengono anche esempi di utilizzo di esso:

Examples: 
gtest-config --min-version=1.0 || echo "Insufficient Google Test version." 
... 

Significa che noi er può testare la versione del framework in tempo di compilazione usando lo script gtest-config.

Nota:

Lo script gtest-config ottenere la versione attuale del quadro durante la configurazione attraverso variabili dichiarate in configure.ac.

... 
AC_INIT([Google C++ Testing Framework], 
     [1.7.0], 
     [[email protected]], 
     [gtest]) 
... 

E dopo aver chiamato autoconf i seguenti identificatori all'interno del file configure popolate:

... 
# Identity of this package. 
PACKAGE_NAME='Google C++ Testing Framework' 
PACKAGE_TARNAME='gtest' 
PACKAGE_VERSION='1.7.0' 
PACKAGE_STRING='Google C++ Testing Framework 1.7.0' 
PACKAGE_BUGREPORT='[email protected]' 
PACKAGE_URL='' 
... 
# Define the identity of the package. 
PACKAGE='gtest' 
VERSION='1.7.0' 
... 

Per quanto il quadro compilato con l'opzione AC_CONFIG_HEADERS questo identificatori memorizzati in file di build-aux/config.h e consumata per l'utente al momento della compilazione.