Skip to content

Discussion: Smoke testing #3810

Open
Open
@sibwaf

Description

@sibwaf

Not a long time ago I was developing a static analyzer which used Spoon in a company. We had an utility called "self-tester", which ran our analyzer on a bunch of open-source projects and calculated the diff for the analyzer reports. Last time we decided to update Spoon, we ran into a bunch of problems while running this utility and couldn't update. For some of these problems I created issues (#3733, #3734, #3740), and some were probably left undiscovered.

I no longer work for that company, but the "self-tester" concept feels like a very important addition to Spoon's test suite to me.

So, the idea is to add a separate testing step which builds models for a bunch of open-source projects (on "known-good" commits) and runs a bunch of code on these models checking for crashes - traversing the tree in any way, calculating method overloads (as one of the "heavy operations"), anything goes. This will surely slow down the tests by a lot, but will allow us to track regressions and unexpected bugs not yet discovered by usual unit-tests. As a bonus it will ensure that Spoon is able to handle the open-source madness. A simple example of this testing step can be found in my dataflow analyzer prototype (it's located in the "Launcher" module).

I could try making something by myself but I'm not sure when I'll have free time, so I'd be happy if anyone likes the idea and decides to implement it by themselves.

Any thoughts?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions