Skip to content

Expand test suite #261

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 30 commits into from
Mar 4, 2025
Merged

Expand test suite #261

merged 30 commits into from
Mar 4, 2025

Conversation

nimec01
Copy link
Collaborator

@nimec01 nimec01 commented Feb 27, 2025

Closes #260

Die Tests decken jetzt für die meisten Aufgabentypen folgendes ab:

  • verifyQuiz / check...Config
  • verifyStatic / verifyInst
  • description
  • partialGrade
  • completeGrade

Bei Step und Prolog werden diese Aspekte allerdings nur mit der Standardkonfiguration getestet, da die Nutzung von tryGen in den Aufgabengeneratoren sonst zu Fehlern führt. Nachdem #106 bearbeitet wurde, sollten auch hier generierte Konfigurationen nutzbar sein.

Bei Min und Max wird partialGrade und completeGrade aktuell nicht getestet. Das liegt daran, dass ich aktuell nicht die richtige Formel mit allen Min-/Maxtermen für den Funktionsaufruf bestimmen kann. In diesem Schritt hat sich vielmehr auch gezeigt, dass die Formel, welche aktuell als korrekte Lösung angezeigt wird, nicht zwingen korrekt ist. Der entsprechende Test ist mit dem Fehler Alle Klauseln sind Min-/Maxterme? Nein. fehlgeschlagen.

@jvoigtlaender
Copy link
Member

Impressive!

Können Sie das noch ein bisschen aufspalten? Insbesondere:

Den semantischen Fehler bzw. Min und Max in ein anderes Issue/PR packen. Also hier die fehlschlagenden Tests herausnehmen. In dem anderen PR dann die besagten Tests einführen (und ausführen) und als Beleg dafür festhalten, dass es ein Problem gibt.

(Allerdings sehe ich gerade, dass die Haskell-CI-Fehler oben von einem anderen Test kommen. Wohl irgendein Problem mit File-IO?)

Bezüglich der noch fehlenden Tests bei Step und Prolog dann auch ein separates Issue, mit Verweis auf #106.

Hat der ganze hinzugefügte aber auskommentierte Code in test/PrologSpec.hs mit Obigem zu tun?

@jvoigtlaender
Copy link
Member

Passt/gehört dies hier auch irgendwie mit rein?

b453da2#r152401418

@jvoigtlaender
Copy link
Member

Vielleicht müssen die Min/Max-Sachen hier auch gar nicht herausgelöst werden, sondern können in diesem PR bleiben, und das nachträglich separate Issue/PR demonstriert den Fehler dann einfach dadurch, dass Pending-Markierungen bei den entsprechenden Tests herausgenommen werden?

@jvoigtlaender
Copy link
Member

Aber hier wäre jedenfalls erstmal gut, die Test-Suite hinsichtlich des IOs zu fixen.

@patritzenfeld
Copy link
Member

Der Fehler bei ComposeFormula und TreeToFormula wird durch eine fehlende TeX-Installation ausgelöst. Das müsste dem Workflow hinzugefügt werden. Ich benutze z.B. setup-texlive-action. Hier muss man aber explizit alle nötigen Pakete angeben. Stattdessen kann man es auch einfach direkt via apt-get installieren, aber es kann dann nicht gecacht werden. Das wäre also einfacher, dauert dann aber jedesmal länger.

Der verlinkte Schnipsel ist schon für ComposeFormula eingerichtet, also wäre es am einfachsten das zu übernehmen und zu probieren ob noch etwas für die andere Aufgabe fehlt (aber wahrscheinlich benutzen die sowieso die gleichen Funktionen?).

@nimec01
Copy link
Collaborator Author

nimec01 commented Mar 4, 2025

Hat der ganze hinzugefügte aber auskommentierte Code in test/PrologSpec.hs mit Obigem zu tun?

Den wollte ich eigentlich vor dem Pushen noch entfernen. Aber ja, das war der Code für die Generierung einer zufälligen PrologConfig.

@nimec01
Copy link
Collaborator Author

nimec01 commented Mar 4, 2025

Passt/gehört dies hier auch irgendwie mit rein?

b453da2#r152401418

Ich denke, ich sollte dafür noch einmal ein weiteres Issue aufmachen. Wenn ich den Formeltypen zufällig wählen lasse, hängt die Test-Suite.

@nimec01
Copy link
Collaborator Author

nimec01 commented Mar 4, 2025

Vielleicht müssen die Min/Max-Sachen hier auch gar nicht herausgelöst werden, sondern können in diesem PR bleiben, und das nachträglich separate Issue/PR demonstriert den Fehler dann einfach dadurch, dass Pending-Markierungen bei den entsprechenden Tests herausgenommen werden?

Bei Min/Max sind die entsprechenden Fälle bereits als Pending markiert. Die angesprochenen Testfälle für Step und Prolog sind aktuell nicht vorhanden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bestimmte Tests für *jeden* Aufgabentyp
3 participants