giovedì 22 luglio 2010

Installare CUnit sotto SnowLeopard

Il Test Driven Development è una tecnica di design del software che permette di scrivere del buon codice con un ampio tasso di coverage di test automatizzati. Esistono diverse librerie per fare questo, generalmente almeno una per linguaggio, basate tutte sul design di SUnit (originariamente xUnit), il framework di test scritto da Kent Beck (ideatore di Extreme Programming).

Non fa eccezione il linguaggio C che possiede diverse librerie di testing, tra cui Check e CUnit. Queste due sono caratterizzate dall'essere implementate in puro C e non in C++ come ad esempio googletest.

Installare CUnit sotto Mac è molto semplice anche se mi ha dato qualche problema dovuto alle numerose piattaforme su MacOs X ha girato nel corso degli anni (nato su PPC, PPC64, portato su i386 e ora x86_64, senza contare universal che racchiude le due famiglie).

Per prima cosa possiamo installare la libreria da MacPort:

  1. sudo port install cunit
    MacPort  scaricherà, compilerà e installerà CUnit e libncurses

  2. Modificare il path di MacOS X
    Purtroppo l'installazione di port non mi ha aggiunto i path alle librerie e agli include installati tramite MacPort, quindi è necessario modificare il file /etc/paths e aggiungere le seguenti righe:
    /opt/local/
    /opt/local/lib
    /opt/local/include/


  3. Riavviare il Mac per rendere attive le modifiche al path

  4. A questo punto possiamo provare a compilare il codice di esempio presente sul sito di CUnit con l'accortezza di specificare l'architettura e l'inclusione delle librerie CUnit e Ncurses:
    gcc -lcunit -lncurses -Wall example.c -o example -arch x86_64


  5. Il codice di test ora risulta essere compilato e funzionante possiamo lanciarlo con
    ./example




Happy coding!

Nessun commento:

Posta un commento