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
2026-03-18 10:42:39 +11:00
2018-06-08 10:02:03 -05:00
2026-03-28 14:49:05 +11:00
2016-08-17 21:57:59 +00:00
2017-01-18 14:59:01 -08:00
2026-03-17 19:52:41 -04:00
2021-04-17 10:45:21 +10:00
2026-03-28 14:49:05 +11:00
2011-06-19 16:28:10 +00:00
2020-01-17 22:30:35 -08:00
2016-12-15 05:51:11 +11:00

macports-base

This repository contains the source code for the MacPorts command-line client.

Official documentation: https://guide.macports.org/

S
Languages
Tcl 51.7%
C 33.7%
Assembly 9.6%
M4 2.7%
Shell 1.2%
Other 1.1%