Hello,
Is it allowed to share tests for the homeworks with other students ?
Or, more specifically, can I make MRs to the kecc-public repository to contribute some smaller fixes and improvements to the test framework ?
Currently I have the following improvements I'd like to contribute / share:
- More reliable skipping of "unsupported" ASTs during fuzzing
- Support for initializing global scalar variables with the
type name = { expr }; syntax, which is equivalent to type name = expr; but currently not handled by the irgen template or the interp, despite being valid C code.
While this is done with some modifications to the irgen.rs file, implementation of global constructors is not part of the homework. When fuzzing with more advanced options, i.e., pointers, arrays, ..., csmith will sometimes generate such code.
- Use of the dir-test crate to split the tests into individual tests per test file
- Use of dir-test to run regression tests, e.g., over all the C files found from fuzzing.
Since some of these touch on testing code or existing template code, I can understand that you might be reluctant to merge them during the semester, but I would still like to contribute them if possible for future iterations of the course.
I'd also like to share some of the C test cases I have found through fuzzing, or manual writing.
Since some go further than expected in the homework, e.g., String Literals.
But some of them cover cases of pointer arithmetic that should be implemented, but which don't seem to be covered by the existing test cases, grade script, or the default fuzzing parameters.
(Pinging @TomLafay so he does not ask the same question)
Hello,
Is it allowed to share tests for the homeworks with other students ?
Or, more specifically, can I make MRs to the kecc-public repository to contribute some smaller fixes and improvements to the test framework ?
Currently I have the following improvements I'd like to contribute / share:
type name = { expr };syntax, which is equivalent totype name = expr;but currently not handled by the irgen template or the interp, despite being valid C code.While this is done with some modifications to the
irgen.rsfile, implementation of global constructors is not part of the homework. When fuzzing with more advanced options, i.e., pointers, arrays, ...,csmithwill sometimes generate such code.Since some of these touch on testing code or existing template code, I can understand that you might be reluctant to merge them during the semester, but I would still like to contribute them if possible for future iterations of the course.
I'd also like to share some of the C test cases I have found through fuzzing, or manual writing.
Since some go further than expected in the homework, e.g., String Literals.
But some of them cover cases of pointer arithmetic that should be implemented, but which don't seem to be covered by the existing test cases, grade script, or the default fuzzing parameters.
(Pinging @TomLafay so he does not ask the same question)