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 (#20319)
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 it's 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`.
fixes#20306fixes#20278
0 commit comments