NAME

perl-slim - Run the Perl FitNesse SLiM server

SYNOPSIS

perl-slim [-v] [-s SECONDS] [--bind-address IPv4] PORT

DESCRIPTION

Start the Test::FitNesse::Slim server. Port 1 selects a single SLiM v0.5 session over the inherited stdin/stdout pipes, as used when FitNesse starts the server as a test-runner child. Other valid port numbers start the v0.5 TCP listener on that port. TCP listens on IPv4 loopback (127.0.0.1) by default.

The executable must be able to load Test::FitNesse::Slim::Server and its runtime dependency HTML::TreeBuilder. External fixture modules must be on the Perl module search path inherited by the process, normally PERL5LIB.

OPTIONS

-v

Write request and response diagnostics to stderr. In pipe mode, fixture stdout and stderr are captured and tunneled separately so that protocol frames remain on stdout.

-s SECONDS

Set an integer timeout for each fixture statement. The value must be positive and fit in a signed 32-bit integer. A timed-out invocation is returned as a SLiM exception.

--bind-address IPv4

Bind the TCP listener to the specified numeric IPv4 address. The default is 127.0.0.1. A non-loopback address emits a warning because the listener is unauthenticated and permits clients to invoke Perl fixtures. Use it only on a trusted network. This option cannot be used with port 1.

PORT

Select the transport. Port 1 means pipes; other accepted decimal ports select TCP. Exactly one port is required.

EXIT STATUS

The pipe process exits zero after a clean bye or clean EOF. Invalid arguments, startup failures, truncated messages, framing failures, and broken protocol output result in a nonzero exit. TCP serves clients in child processes; a malformed client is isolated from the listener.

EXAMPLES

FitNesse-managed pipe configuration:

!define TEST_SYSTEM {slim}
!define COMMAND_PATTERN {%m}
!define TEST_RUNNER {/absolute/path/to/perl-slim}
!define SLIM_PORT {1}

Standalone TCP listener:

perl-slim 8099

Explicit all-interface listener for a trusted network:

perl-slim --bind-address 0.0.0.0 8099

SEE ALSO

Test::FitNesse::Slim, Test::FitNesse::Slim::Server, docs/slim-pipe-transport.md, and docs/fixture-conversion.md.

COPYRIGHT AND LICENSE

Copyright 2010-2026 Greg Bacon.

This program is free software; it may be redistributed and modified under the terms of either the GNU General Public License, version 1 or any later version, or the Artistic License 1.0. Test-only FitNesse fixture adaptations are separately licensed under the Common Public License 1.0. See the distribution's license files and THIRD-PARTY-NOTICES.md.