Skip to content

[Question] Contribution of regression tests and other fixes to kecc-public #583

@bauen1

Description

@bauen1

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions