- מיוצרים בצורה אקראית לחלוטין (עד כדי מגבלותינו האנושיות כמתכנתים)
- רוב הלוגיקה יובאה ישירות לפייתון (הצילו)
- הפתעה חדשה בכל טסט (
segfault
)
- מקמפלים את הפרויקט שלכם
g++ -std=c++11 -Wall -Werror -pedantic-errors -ggdb3 -DNDEBUG ./*.cpp -o main
- יוצרים תיקייה לשים בה את התוצאות של הטסטים:
mkdir -p wacky/real-out
- בודקים חריגות זיכרון:
for i in {1..100}; do valgrind --leak-check=full ./main < "wacky/in/input$i.in" > "wacky/real-out/output$i.out"; done
- משווים את הטסטים לתוצאות שלכם:
for i in {1..100}; do diff -s -q "wacky/out/output$i.out" "wacky/real-out/output$i.out"; done
- מריצים את הקובץ
wacky_tests.sh
- נכנסים לעולם משוגע של כאב וסבל
כאמור, רוב הלוגיקה יובאה ישירות לפייתון, וניתן להשתמש בפונקציות עצמן בצורה קלה מאוד ומפורשת. לכן הדרך להכנת טסטים תובא כמשפט ללא הוכחה.
מוזמנים לשלוח הודעה במה׳נשמע, נשמח לשמוע על טעויותינו ולכפר עליהן.