Morpho-lang / morpho

The Morpho language 🦋. Morpho is a small embeddable language for scientific computing applications.
MIT License
30 stars 10 forks source link

CI workflow to perform automated testing with multithreading #260

Closed joshichaitanya3 closed 4 months ago

joshichaitanya3 commented 4 months ago

This PR attempts to add a CI workflow to run the test-suite with morpho6 -w2, thus checking for bugs with multithreading.

Given the increase in parallelization in Morpho (yay!), this could be quite useful to spot bugs like #259

It essentially adds one more argument flag to test.py and invokes it in the new workflow.

joshichaitanya3 commented 4 months ago

Great, thanks! I have fixed these.

  1. Change branches on lines 5, 7 to include “dev"

I had copied this workflow from the buildandtest one, and it didn’t have dev too. Is that something we need to fix?

softmattertheory commented 4 months ago

I had copied this workflow from the buildandtest one, and it didn’t have dev too. Is that something we need to fix?

Good point: I already fixed it, but the fix is not in dev, it's in type. [See, e.g. https://github.com/Morpho-lang/morpho/blob/type/.github/workflows/nonanboxing.yml]

softmattertheory commented 4 months ago

Suggestion, @joshichaitanya3: Could you change the target of this PR to the morehessians branch? I've now fixed the race conditions—this was great we discovered them!—and so this test should work for that branch.

joshichaitanya3 commented 4 months ago

Sure thing, I just did!