Files
de61635b81 refactor: move all packages under pkg/ for v5 (#559)
* refactor: move all packages under pkg/ for v5

Move all 13 top-level Go packages into pkg/ for a cleaner repository
structure. All internal import paths updated from
github.com/formancehq/go-libs/v5/<pkg> to
github.com/formancehq/go-libs/v5/pkg/<pkg>.

Also includes cleanup:
- Fix .golangci.yml stale v4 CircuitBreaker path
- Replace deprecated str.Contains with stdlib slices.Contains
- Update TODO(v4) markers to TODO
- Delete stale coverage.txt
- Fix pgtesting timeout not being propagated to docker pool
- Update docs/ARCHITECTURE.md to reflect new structure

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* chore: remove compatibility aliases, unused params, and stub files

- Remove unused type aliases (Authenticator, KeySet) from authnfx
- Remove unused `debug` parameter from S3ModuleFromFlags
- Delete comment-only stub files in messaging/publish/circuit/

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* chore: rename cli.go to flags.go for consistency

Standardize naming across all packages: cli.go -> flags.go
since these files all serve the same purpose (flag definitions).

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* chore: rename

* chore(deps): update all dependencies

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: resolve package name mismatches in generated mocks

Generated mock files had stale package names from before the pkg/ move,
causing import cycles and build failures with --build-tags it.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
2026-03-20 09:17:12 +00:00

55 lines
1017 B
Go

package utils
import (
"flag"
"fmt"
"os"
"slices"
)
// TestingTForMain implements require.TestingT and potentially other alternative T interface
// This allow to use the same tooling on func TestMain(t *testing.M) and TestXXX(t *testing.T)
type TestingTForMain struct {
cleanup []func()
}
func (t *TestingTForMain) Helper() {}
func (t *TestingTForMain) Errorf(format string, args ...interface{}) {
_, _ = fmt.Fprintf(os.Stderr, format, args...)
}
func (t *TestingTForMain) TempDir() string {
return os.TempDir()
}
func (t *TestingTForMain) FailNow() {
t.callCleanup()
os.Exit(1)
}
func (t *TestingTForMain) Cleanup(f func()) {
t.cleanup = append(t.cleanup, f)
}
func (t *TestingTForMain) callCleanup() {
cleanup := t.cleanup
slices.Reverse(cleanup)
for _, cleanup := range cleanup {
cleanup()
}
}
func (t *TestingTForMain) close() {
t.callCleanup()
}
func WithTestMain(fn func(main *TestingTForMain) int) {
flag.Parse()
t := &TestingTForMain{}
code := fn(t)
t.close()
os.Exit(code)
}