Skip to content

Repository files navigation

smptest

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

Build

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 natively

If you cloned without --recurse-submodules:

git submodule update --init

Deploy

Copy .env.example to .env and fill in the connection to your MVS system, then:

make doctor       # check toolchain + connectivity
make deploy       # -> IBMUSER.SMPTEST.LINKLIB

make 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.

Layout

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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages