You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
remove non-deterministic cancellation of async TASTy in sbt-test
how-i-fixed-it:
Originally these tests were written before we
implemented async TASTy writing. This meant that we blocked the
main thread at the end of ExtractAPI until TASTy was written.
This meant that -Ystop-after:firstTransform would prevent the
compiler reaching the backend, but stop after we knew that TASTy
was written to a-early.jar
Originally we did this to explicitly communicate that TASTy comes
from a-early.jar, rather than genBCode output.
In reality, it doesn't assert anything stronger than a comment would,
because we manually fix the classpath to only be a-early.jar.
After we added async TASTy writing, this test became non-deterministic,
because we cancel async TASTy writing at the end of a run
without synchronizing. So its possible TASTy isn't written
by the time we cancel after firstTransform.
So instead, we remove -Ystop-after, guaranteeing that 'a/compile' does not
finish until we synchronize async TASTy in genBCode.
0 commit comments