ASSERT-KTH / ASSERT-KTH/pankti

generate a submodule to run pankti-generated test cases

Open
#22 1 comment 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
18
Forks
6
PR merge metrics
No merged PRs in 30d

Description

We may generate a submodule that contains all the pankti-generated test cases. The benefits of doing so include:

- A good separation between original test cases and pankti-generated
- Only `Test*PanktiGen.java` and `object-data.xml` need to be copied to the submodule, because this module depends on all the original submodules
- No need to modify original pom files, because only this module needs `xstream` as a dependency

This is an example that I manually did for TTorrent: https://github.com/gluckzhang/ttorrent/tree/ttorrent-2.0-pankti

What I did in this example:

- `mkdir pankti-tests` and add `pankti-tests` in the root `pom.xml`
- create a pom file for submodule `pankti-tests`, add all of the original submodules as its dependencies, add `xstream` as its dependency as well: https://github.com/gluckzhang/ttorrent/blob/ttorrent-2.0-pankti/pankti-tests/pom.xml
- put the pankti-generated test files in `src/test/java`, put the object data xml files in `src/test/resources`

```bash
cd path/to/pankti/pankti-generate/output/generated/ttorrent
find . -type f -name "Test*PanktiGen.java" -exec cp --parents {} path/to/ttorrent/pankti-tests/src/test/java \;
cp *.xml path/to/ttorrent/pankti-tests/src/test/resources
```

*This is for the convenience of our experiments. At last we might still put the generated test cases in the original submodules to create a PR.*

Contributor guide

No contributing guide indexed for this repository

Research direction

Use the TTorrent pankti-tests example as the reference, then inspect the repository root pom.xml and the existing module layout. Define a pankti-tests submodule with its own pom.xml, original submodules and xstream as dependencies, and place Test*PanktiGen.java files under src/test/java with object-data.xml under src/test/resources. Done means the generated tests can run from the new module without modifying the original module poms.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.