Iddodo / winter2023-data-structures-wacky-tests

Very wacky

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Readme

טסטים משוגעים לרטוב-1 (מגונרטים בצורה אקראית!)

https://w0.peakpx.com/wallpaper/98/393/HD-wallpaper-im-not-random-im-crazy-crazy-random-smile-funny-im.jpg

  • מיוצרים בצורה אקראית לחלוטין (עד כדי מגבלותינו האנושיות כמתכנתים)
  • רוב הלוגיקה יובאה ישירות לפייתון (הצילו)
  • הפתעה חדשה בכל טסט (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
  • נכנסים לעולם משוגע של כאב וסבל

רוצים ליצור טסטים משלכם?

כאמור, רוב הלוגיקה יובאה ישירות לפייתון, וניתן להשתמש בפונקציות עצמן בצורה קלה מאוד ומפורשת. לכן הדרך להכנת טסטים תובא כמשפט ללא הוכחה.

טענות ומענות (הקוד שלכם לא תקין!!!!)

מוזמנים לשלוח הודעה במה׳נשמע, נשמח לשמוע על טעויותינו ולכפר עליהן.

About

Very wacky


Languages

Language:Python 98.7%Language:Shell 1.3%