Μάθε πώς να δοκιμάζεις τις ασκήσεις σου σε C στο Exercism
Κάθε άσκηση παρέχει τα unit tests και μια συνταγή build για το Make. Την υλοποίηση τη γράφεις εσύ.
Κάθε αρχείο test είναι φτιαγμένο να συνδέεται με την υλοποίησή σου, ώστε να δημιουργείται ένα εκτελέσιμο στην κονσόλα που τρέχει τα tests. Το τρέξιμο του εκτελέσιμου των tests τυπώνει μηνύματα για κάθε test που αποτυγχάνει και αναφέρει μη μηδενική κατάσταση εξόδου όταν τα tests αποτυγχάνουν.
Για να δουλέψεις μια άσκηση:
TEST_IGNORE().Κάθε άσκηση θα φέρνει μαζί της ένα αρχείο makefile και ένα .c με τα unit tests.
Δε θα χρειαστεί να επεξεργαστείς το αρχείο Make.
Το αρχείο Make που παρέχεται υποθέτει ότι η υλοποίησή σου υπάρχει ως αρχείο κεφαλίδας (.h) και ως αρχείο πηγαίου κώδικα (.c) με το όνομα της άσκησης.
Για παράδειγμα, η άσκηση bob περιμένει μια υλοποίηση στα bob.h και bob.c.
Για ασκήσεις με παύλες στο όνομά τους, τα αρχεία πηγαίου κώδικα υποτίθεται ότι χρησιμοποιούν κάτω παύλες, οπότε το word-count περιμένει τα word_count.h και word_count.c.
Μπορεί να κρίνεις ότι η υλοποίησή σου είναι αρκετά απλή ώστε να χωράει εξ ολοκλήρου στο αρχείο κεφαλίδας, οπότε μπορείς να παραλείψεις το αρχείο .c.
Δημιούργησε τα αρχικά αρχεία της υλοποίησής σου πριν τρέξεις το Make.
Αν δεν έχεις τα αρχεία bob.h και bob.c όταν τρέχεις το Make για την άσκηση bob, τότε το Make θα βγάλει σφάλμα ότι δε βρίσκει τα αρχεία.
Αυτά τα αρχεία μπορούν να είναι κενά, αλλά πρέπει να υπάρχουν.
Ο πιο απλός τρόπος να κάνεις build τον κώδικά σου είναι να χρησιμοποιήσεις το make στη γραμμή εντολών (CLI).
Στο Linux η γραμμή εντολών είναι διαθέσιμη στο bash ή σε κάτι παρόμοιο, στο MacOS χρησιμοποίησε το Terminal.
Στα Windows 10 είναι διαθέσιμο το Bash του Windows Subsystem for Linux (WSL).
Για να το κάνεις αυτό, με την προϋπόθεση ότι ο τρέχων κατάλογος είναι ο φάκελος της άσκησης:
$ make
Αυτό θα μεταγλωττίσει τον κώδικά σου και θα τρέξει τα tests.
Το makefile έρχεται επίσης με ένα build που ελέγχει κάποια συνηθισμένα λάθη σχετικά με διαρροές μνήμης και πρόσβαση σε πίνακες εκτός ορίων.
Για να τρέξεις αυτούς τους ελέγχους, χρησιμοποίησε το παρακάτω στη γραμμή εντολών:
$ make memcheck
Για να καθαρίσεις μετά από ένα build, μπορείς να πεις στο make να διαγράψει όλα τα αρχεία εξόδου του build, μαζί με το εκτελέσιμο:
$ make clean
Στο MacOS μπορείς επίσης να χρησιμοποιήσεις το Xcode. Για να κάνεις build τον κώδικα, διάλεξε Build από τη γραμμή εργαλείων.