A TSO command for MVS 3.8j that writes three lines to the READY screen.
That is all it does at runtime. Its purpose is to be the smallest possible
real load module — host-bound by ld370, with norent set the way a C
command processor needs it — so that an SMP/E v4 installation can be built
and proven around it without a larger product's moving parts in the way.
READY
smptest
SMPTEST - prototype payload for an SMP/E v4 installation.
Entered as a TSO command processor on MVS 3.8j.
Bound on the host by ld370, installed as a single load module.
Version 1.0.0-dev
READY
Requires the cc370 toolchain with
libc370 installed into its sysroot.
The build itself is offline; only make deploy touches MVS.
git clone --recurse-submodules https://github.com/mvslovers/smptest.git
cd smptest
make # -> build/SMPTEST
make test-host # run the tests nativelyIf you cloned without --recurse-submodules:
git submodule update --initCopy .env.example to .env and fill in the connection to your MVS
system, then:
make doctor # check toolchain + connectivity
make deploy # -> IBMUSER.SMPTEST.LINKLIBmake deploy DELETEs and recreates its target, so the target must be a
dataset dedicated to this project. Installing SMPTEST into a library TSO
searches for commands is a separate, additive IEBCOPY step.
| Path | |
|---|---|
src/smptest.c |
main() — print the banner, flush, RC 0 |
src/smpt#msg.c |
the banner table; no MVS services, so it also builds on the host |
include/smptest.h |
smptest_nlines() / smptest_line() |
test/tstsmpt.c |
checks the table, natively and on MVS |
project.toml |
the whole build definition |
Built with mbt v2.
See CLAUDE.md for the SMP/E notes and the norent rationale.