TobiasWrigstad/ioopm14 — pull request #1 by sangisos (2014-10-09 20:55:20+00:00)
Title: Hej, fixade 2 småsaker i istring unittests om ni är intresserade.

Först vill jag bara nämna en git konfiguration som kan vara bra att använda på windows:
git config --global core.autocrlf true
Gör att lineendings automatiskt sparas som LineFeed i gitrepot, men alla blir CRLF när filerna skrivs till en katalog.
https://help.github.com/articles/dealing-with-line-endings/

En enkel förbättring som förvirrat många som har försökt använda unittests på sina egna datorer. När man ser:
#include "CUnit/Basic.h"
så antar man att det är någon fil man ska tanka ner och lägga i en katalog som heter CUnit i sin projektkatalog och sedan försöka köra.
#include
är mycket självklarare att det är ett biblotek man ska använda.

Sen en minnesläcka i unittest där istring_to_string returnerar en dynamiskt allokerad sträng, som jag förstått det enligt begäran, som unittests inte friar efter sig. Om man inte ska returnera en dynamiskt allokerad sträng, vad ska man returnera då? Eller var tanken att alla skulle redigera även detta test i suiten?
före fix:
==21944==
==21944== HEAP SUMMARY:
==21944== in use at exit: 5 bytes in 1 blocks
==21944== total heap usage: 56 allocs, 55 frees, 1,420 bytes allocated
==21944==
==21944== Searching for pointers to 1 not-freed blocks
==21944== Checked 61,664 bytes
==21944==
==21944== 5 bytes in 1 blocks are definitely lost in loss record 1 of 1
==21944== at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==21944== by 0x804983D: istring_to_string (istring.c:41)
==21944== by 0x8048CB8: testISTRING_TO_STRING (unittests.c:67)
==21944== by 0x405B374: run_single_test (in /usr/lib/libcunit.so.1.0.1)
==21944== by 0x405AFAC: run_single_suite (in /usr/lib/libcunit.so.1.0.1)
==21944== by 0x405901B: CU_run_all_tests (in /usr/lib/libcunit.so.1.0.1)
==21944== by 0x405D450: basic_run_all_tests (in /usr/lib/libcunit.so.1.0.1)
==21944== by 0x405D1C4: CU_basic_run_tests (in /usr/lib/libcunit.so.1.0.1)
==21944== by 0x804975D: main (unittests.c:200)
==21944==
==21944== LEAK SUMMARY:
==21944== definitely lost: 5 bytes in 1 blocks
==21944== indirectly lost: 0 bytes in 0 blocks
==21944== possibly lost: 0 bytes in 0 blocks
==21944== still reachable: 0 bytes in 0 blocks
==21944== suppressed: 0 bytes in 0 blocks
==21944==
==21944== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==21944== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

efter fix:
==22214==
==22214== HEAP SUMMARY:
==22214== in use at exit: 0 bytes in 0 blocks
==22214== total heap usage: 56 allocs, 56 frees, 1,420 bytes allocated
==22214==
==22214== All heap blocks were freed -- no leaks are possible
==22214==
==22214== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==22214== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)