Skip to content
Extraits de code Groupes Projets
ex-lepl1503.c 886 octets
Newer Older
  • Learn to ignore specific revisions
  • Axel Legay's avatar
    Axel Legay a validé
    #include <CUnit/CUnit.h>
    #include <CUnit/Basic.h>
    #include <CUnit/Automated.h>
    
    int maxi(int i1, int i2)
    {
        return (i1 > i2) ? i1 : i2;
    }
    
    
    Axel Legay's avatar
    Axel Legay a validé
    void test_maxi(void) /*Exemple de test qui réussira */
    
    Axel Legay's avatar
    Axel Legay a validé
    {
        CU_ASSERT(maxi(0,2) == 2);
    }
    
    
    Axel Legay's avatar
    Axel Legay a validé
    void test_maxifailed(void) /*Exemple de test qui échouera */
    {
        CU_ASSERT(maxi(0,2)==3);
    }
    
    
    Axel Legay's avatar
    Axel Legay a validé
    void erreurmalloc(void) /*Une fonction qui fait une erreur malloc (pour ccpcheck et valgrind)*/
    
    Axel Legay's avatar
    Axel Legay a validé
    {
    
    Axel Legay's avatar
    Axel Legay a validé
        char *buffer;
        buffer=malloc(3*sizeof(char));
        buffer[3]='a'; /*Accès hors tableau*/
    }
    
    
    Axel Legay's avatar
    Axel Legay a validé
    int main() {
        CU_initialize_registry();
        CU_pSuite suite = CU_add_suite("maxi_test", 0, 0);
    
        CU_add_test(suite, "maxi_fun", test_maxi);
    
    Axel Legay's avatar
    Axel Legay a validé
        CU_add_test(suite, "maxi_fail",test_maxifailed);
    
    Axel Legay's avatar
    Axel Legay a validé
        CU_basic_set_mode(CU_BRM_VERBOSE);
        CU_basic_run_tests();
        CU_automated_run_tests();
        CU_cleanup_registry();
     
    
    Axel Legay's avatar
    Axel Legay a validé
        erreurmalloc();
    
    Axel Legay's avatar
    Axel Legay a validé
        return 0;
    }