Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,21 +45,29 @@ jobs:
cache: maven

- name: Run Python spec conformance smoke tests
env:
GIT_TESTKIT_CLI: ./git-testkit-cli
run: |
cd testkit/python
python -m pip install -e ".[dev]"
python -m pytest tests/ -v
- name: Run Python sample smoke implementations
env:
GIT_TESTKIT_CLI: ./git-testkit-cli
run: |
cd testkit/python
python -m samples.smoke_repo_flow
python -m samples.smoke_snapshot_flow

- name: Run Java spec conformance smoke tests
env:
GIT_TESTKIT_CLI: ./git-testkit-cli
run: |
cd testkit/java
mvn test
- name: Run Java sample smoke implementations
env:
GIT_TESTKIT_CLI: ./git-testkit-cli
run: |
cd testkit/java
mvn -Dtest=SampleRepoFlowSmoke,SampleSnapshotFlowSmoke test
Expand Down
2 changes: 1 addition & 1 deletion testkit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Use existing smoke tests as the executable conformance path:

- Python: `cd testkit/python && python3 -m pytest tests/ -v`
- Java: `cd testkit/java && mvn test`
- Go regression: from repository root, run `go test ./...`
- Go regression: from the repository root (the directory containing `go.mod`), run `go test ./...`

### CI/CD wiring

Expand Down
2 changes: 1 addition & 1 deletion testkit/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Deliverables:

1. Keep existing Go `testing.T` APIs for backward compatibility.
2. Add reusable error-returning Go APIs that do not depend on `testing.T`.
3. Add CLI binary (`cmd/git-testkit-cli`) with JSON request/response protocol.
3. Add CLI binary at `cmd/git-testkit-cli` (canonical Go entrypoint; not a separate `testkit/cli` tree) with JSON request/response protocol.
4. Add Python and Java thin wrappers that shell out to the CLI.
5. Add smoke tests proving fixture -> scenario-like flow -> snapshot round-trip.
6. Add spec-kit artifact set under `.specify/`:
Expand Down
3 changes: 0 additions & 3 deletions testkit/java/src/main/java/io/gitfire/testkit/CliBridge.java
Original file line number Diff line number Diff line change
Expand Up @@ -254,9 +254,6 @@ public String runGitCmd(String repoPath, String... args) {
}
payload.append("]}");
String json = invoke(payload.toString());
if (!json.contains("\"output\"")) {
throw new IllegalStateException("missing output in bridge response: " + json);
}
return extractRequired(json, OUTPUT_PATTERN, "output");
}

Expand Down
Loading