Update guidance for Go example tests
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
# Go-Based Testing For Maintained Examples
|
||||
|
||||
Status: complete. Example assertions now run in the ordinary Go suite; the
|
||||
custom release check and its Python runner have been removed.
|
||||
|
||||
## Purpose
|
||||
|
||||
Move the maintained consumer-example checks into Promptkit's ordinary Go test
|
||||
@@ -15,7 +18,7 @@ library API or a new release gate.
|
||||
The companion [implementation plan](implementation.md) defines the staged work
|
||||
for reaching this target.
|
||||
|
||||
## Current Baseline
|
||||
## Previous Baseline
|
||||
|
||||
The [preparation](../../examples/go-library/prepare/main.go),
|
||||
[execution](../../examples/go-library/run/main.go), and
|
||||
@@ -25,15 +28,14 @@ providers. Preparation and execution use repository-relative configuration
|
||||
paths; observation embeds its assets and already has a workflow helper returning
|
||||
a summary and error.
|
||||
|
||||
[scripts/check-examples.py](../../scripts/check-examples.py) launches all three
|
||||
programs, decodes their JSON summaries, and checks meaningful results. Ordinary
|
||||
`go test ./...` compiles the example packages but currently has no example tests
|
||||
to execute. The [ReleaseKit profile](../../releasekit.json) runs the Python
|
||||
script as its one custom check after shared validation.
|
||||
The former `scripts/check-examples.py` launched all three programs and checked
|
||||
their JSON summaries. Ordinary `go test ./...` then had no example tests, and
|
||||
the [ReleaseKit profile](../../releasekit.json) selected the Python script as a
|
||||
custom check after shared validation.
|
||||
|
||||
The separate [release-wiring test](../../scripts/test-release.py) is also Python,
|
||||
but is a development-only diagnostic, not a release gate. Its disposable fixture
|
||||
currently assumes the example script is a configured product check.
|
||||
previously assumed the example script was a configured product check.
|
||||
|
||||
## Target State
|
||||
|
||||
@@ -86,25 +88,21 @@ implementation dependencies, consistent with the
|
||||
|
||||
## Integration And Documentation Work
|
||||
|
||||
Once the Go tests cover the retained behavior, remove `scripts/check-examples.py`
|
||||
and its custom command and environment overlay from `releasekit.json`. Keep the
|
||||
existing built-in validation selections and source/hosted publication workflow.
|
||||
There is no need for new ReleaseKit functionality or a dependency upgrade.
|
||||
The Go tests cover the retained behavior; the former `scripts/check-examples.py`
|
||||
and its custom command and environment overlay have been removed. The existing
|
||||
built-in validation selections and source/hosted publication workflow remain,
|
||||
without a ReleaseKit dependency upgrade.
|
||||
|
||||
Adapt the development-only release-wiring fixture so it no longer expects the
|
||||
removed script or product-check marker. Retain checks relevant to the actual
|
||||
launcher and profile; do not manufacture an unused custom hook merely to retain
|
||||
old fixture assertions. The Python release-wiring diagnostic can remain Python.
|
||||
The development-only release-wiring fixture no longer expects the removed script
|
||||
or product-check marker. It retains checks for the actual launcher and profile
|
||||
without manufacturing an unused custom hook. The diagnostic remains Python.
|
||||
Removing Python from every repository tool is outside this scope.
|
||||
|
||||
Update the [development guide](../development.md),
|
||||
The [development guide](../development.md),
|
||||
[testing policy](../policy/testing.md), [release policy](../policy/release.md),
|
||||
and [release procedure](../release.md) when implementation lands. Replace the
|
||||
standalone example command with Go test guidance, describe example coverage as
|
||||
part of the standard suite, and remove Python as a normal release prerequisite.
|
||||
Continue documenting Python where the optional release-wiring test needs it.
|
||||
Check other incoming references to the removed runner and retain the existing
|
||||
consumer quickstart commands.
|
||||
and [release procedure](../release.md) describe Go test coverage as part of the
|
||||
standard suite and retain Python only for the optional release-wiring test. The
|
||||
existing consumer quickstart commands remain available.
|
||||
|
||||
## Verification
|
||||
|
||||
|
||||
Reference in New Issue
Block a user