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
In support of #36, we want enumerative testing to test both the parser and the code generation of the macro compiler. Two different testing regimens are suggested:
Test in the dialectic-compiler crate that (1) parse ; print is idempotent and (2) print ; parse is identity. This can be accomplished with random testing, which will cover more cases more efficiently than enumeration testing.
Test in the dialectic crate that valid invocations of the Session! macro result in valid session types satisfying the Session trait. This can be done using build.rs to enumerate such invocations at compile time.
Tentatively, if we build a decompiler (which would also be useful for parsing error messages), we could test that (1) compile ; decompile is idempotent and (2) decompile ; compile is identity, also in the dialectic-compiler crate, also using random testing. However, this requires building a decompiler, which we may wish to postpone.
The text was updated successfully, but these errors were encountered:
In support of #36, we want enumerative testing to test both the parser and the code generation of the macro compiler. Two different testing regimens are suggested:
dialectic-compiler
crate that (1)parse ; print
is idempotent and (2)print ; parse
is identity. This can be accomplished with random testing, which will cover more cases more efficiently than enumeration testing.dialectic
crate that valid invocations of theSession!
macro result in valid session types satisfying theSession
trait. This can be done usingbuild.rs
to enumerate such invocations at compile time.Tentatively, if we build a decompiler (which would also be useful for parsing error messages), we could test that (1)
compile ; decompile
is idempotent and (2)decompile ; compile
is identity, also in thedialectic-compiler
crate, also using random testing. However, this requires building a decompiler, which we may wish to postpone.The text was updated successfully, but these errors were encountered: