Files
macports-base/.gitignore
T
Herby Gillot 227a37b749 tests: run test suite fully in-tree without depending on prefix
Add a test-specific tclsh wrapper (`tests/test-tclsh`) that extends the
vendor tclsh wrapper with all `src/` package directories on `TCLLIBPATH`,
allowing the test suite to find in-tree packages without anything
installed at the configured prefix.

Switch all test Makefiles from `$(TCLSH)` to `$(TEST_TCLSH)` so unit and
integration tests use the in-tree interpreter. Replace all references
to `${bindir}/port` and `${bindir}/portindex` with direct invocations of
the in-tree `src/port/port.tcl` and `src/port/portindex.tcl` via the test
tclsh wrapper.

Add `init_tmp_prefix` to all test files that call `mportinit`, creating a
throwaway prefix with `macports.conf`, `sources.conf`, and `share/macports`
data populated from the source tree rather than the installed prefix.
Set `extra_env TCLLIBPATH` in test `macports.conf` files so that
`mportinit`'s environment scrub does not strip `TCLLIBPATH`, which threads
need to resolve packages.

Reorder CI workflows to run `make test` before `make install`, since the
test suite no longer requires an installed prefix.

See: https://trac.macports.org/ticket/56016

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 03:39:35 +02:00

77 lines
1.3 KiB
Plaintext

**/.DS_Store
/config.log
/config.status
/Doxyfile
/setupenv.bash
/autom4te.cache
doc/*.gz
doc/*.mtree
doc/*.xml
doc/*.html
doc/.dep
doc/macports.conf
doc/pubkeys.conf
keys/*/*.sec
Mk/macports.autoconf.mk
portmgr/dmg/postflight
src/*
!src/*/
src/*/*_autoconf.tcl
src/cregistry/macports.sqlext
src/darwintracelib1.0/*.d
src/darwintracelib1.0/tests/*.d
src/darwintracelib1.0/tests/lstat
src/darwintracelib1.0/tests/readdir
src/darwintracelib1.0/tests/stat
src/darwintracelib1.0/sip_copy_proc.[ch]
src/machista1.0/tests/libmachista-test
src/port/*
!src/port/port-tclsh.in
!src/port/*.tcl
src/programs/*/build/
src/**/*.o
src/**/*.a
src/**/*.dylib
src/**/*.dSYM
tests/test.tcl
tests/test-tclsh
tests/test/library.tcl
tests/test/trace/test.tcl
vendor/vendor-destroot/
vendor/tclsh
vendor/install/build/
vendor/.stamp-*
vendor/**/*.o
vendor/**/*.a
vendor/**/*.dylib
vendor/**/*.dSYM
vendor/**/config.log
vendor/**/config.status
vendor/**/.critcl
vendor/critcl*/lib/critcl/Config
vendor/tcl8.*/unix/Tcl-Info.plist
vendor/tcl8.*/unix/Tclsh-Info.plist
vendor/tcl8.*/unix/tcl.pc
vendor/tcl8.*/unix/tclConfig.sh
vendor/tcl8.*/unix/tclsh
vendor/tcl8.*/unix/pkgs/itcl*/itclConfig.sh
vendor/tcl8.*/unix/pkgs/tdbc*/tdbcConfig.sh
vendor/tcl8.*/unix/**/*Uuid.h
!*.in
Makefile
pkgIndex.tcl
!vendor/critcl*/**/pkgIndex.tcl
!vendor/tcllib*/**/pkgIndex.tcl
!vendor/signify-osx/Makefile
/dist/