mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-12 00:34:13 +01:00
Develop: Allow to use internal/tmp/ as scratch space for testing
Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
@@ -82,3 +82,4 @@ Thumbs.db
|
||||
.swp
|
||||
.glide
|
||||
/tmp/
|
||||
/internal/tmp/
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -35,6 +35,7 @@ venv
|
||||
/pro
|
||||
/plus
|
||||
/tmp/
|
||||
/internal/tmp/
|
||||
/test/
|
||||
*-lock.json
|
||||
/node_modules
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# PhotoPrism® Repository Guidelines
|
||||
|
||||
**Last Updated:** October 12, 2025
|
||||
**Last Updated:** October 14, 2025
|
||||
|
||||
## Purpose
|
||||
|
||||
@@ -272,6 +272,7 @@ Note: Across our public documentation, official images, and in production, the c
|
||||
### Testing & Fixtures
|
||||
|
||||
- Go tests live next to their sources (`path/to/pkg/<file>_test.go`); group related cases as `t.Run(...)` sub-tests to keep table-driven coverage readable, and name each subtest with a PascalCase string.
|
||||
- Keep Go scratch work inside `internal/...`; Go refuses to import `internal/` packages from directories like `/tmp`, so create temporary helpers under a throwaway folder such as `internal/tmp/` instead of using external paths.
|
||||
- Prefer focused `go test` runs for speed (`go test ./internal/<pkg> -run <Name> -count=1`, `go test ./internal/commands -run <Name> -count=1`) and avoid `./...` unless you need the entire suite.
|
||||
- Heavy packages such as `internal/entity` and `internal/photoprism` run migrations and fixtures; expect 30–120s on first run and narrow with `-run` to keep iterations low.
|
||||
- For CLI-driven tests, wrap commands with `RunWithTestContext(cmd, args)` so `urfave/cli` cannot exit the process, and assert CLI output with `assert.Contains`/regex because `show` reports quote strings.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
PhotoPrism — Backend CODEMAP
|
||||
|
||||
**Last Updated:** October 12, 2025
|
||||
**Last Updated:** October 14, 2025
|
||||
|
||||
Purpose
|
||||
- Give agents and contributors a fast, reliable map of where things live and how they fit together, so you can add features, fix bugs, and write tests without spelunking.
|
||||
@@ -250,6 +250,9 @@ See Also
|
||||
- Developer Guide (Setup/Tests/API) — links in AGENTS.md → Sources of Truth
|
||||
- Specs: `specs/dev/backend-testing.md`, `specs/dev/api-docs-swagger.md`, `specs/portal/README.md`
|
||||
|
||||
Go Internal Import Rule
|
||||
- Keep temporary Go helpers inside `internal/...`; the Go toolchain blocks importing `internal/` packages from directories such as `/tmp`, so use a disposable path like `internal/tmp/` when you need scratch space.
|
||||
|
||||
Fast Test Recipes
|
||||
- Filesystem + archives (fast): `go test ./pkg/fs -run 'Copy|Move|Unzip' -count=1`
|
||||
- Media helpers (fast): `go test ./pkg/media/... -count=1`
|
||||
|
||||
Reference in New Issue
Block a user