tinymux/testcases
Stephen Dennis 982b82fbc8 Fix reverse DNS slave: strip trailing newline from input
The GANL adapter sends IP addresses to the slave with a trailing '\n'
delimiter (stream framing), but slave.cpp passed the raw buffer —
including the newline — to getaddrinfo(), which rejects it. This caused
reverse DNS to silently fail, falling back to numeric IPs.

Latent since b7fec8bc8 (2012) when inet_addr() was replaced by
getaddrinfo(); activated by a6f579c30 (2026-03-03) when GANL replaced
the old SOCK_DGRAM transport with stream pipes.

Adds testcases/tools/SlaveDNS with 11 protocol-level tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 19:35:03 -06:00
..
tools Fix reverse DNS slave: strip trailing newline from input 2026-03-18 19:35:03 -06:00
0upload.mux Implement objid(), isobjid(), and %: substitution (#403). 2026-03-04 17:29:11 -07:00
abs_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
accent_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
acos_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
add_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
after_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
alphamax_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
alphamin_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
and_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
andbool_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
asin_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
atan2_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
atan_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
attrib_set_fn.mux Implement attrib_set() side-effect function (#478). 2026-03-04 13:12:03 -07:00
band_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
baseconv_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
before_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
bnand_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
bor_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
bxor_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
cand_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
candbool_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
capstr_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
case_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
cat_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
ceil_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
center_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
choose_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
chr_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
citer_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
clone_fn.mux Implement clone() side-effect function (#282). 2026-03-04 13:02:53 -07:00
cmd_say.mux Normalize smart quotes for @listen/^-listen/@filter pattern matching. 2026-03-03 19:38:34 -07:00
columns_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
comp_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
convtime_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
cor_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
corbool_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
cos_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
cpad_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
crc32_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
ctu_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
dec_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
delete_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
digest_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
digittime_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
dist2d_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
dist3d_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
e_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
edit_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
elements_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
eq_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
escape_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
exp_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
exptime_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
extract_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
fdiv_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
first_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
floor_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
floordiv_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
fmod_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
grab_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
graball_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
gt_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
gte_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
iabs_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
iadd_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
idiv_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
imul_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
inc_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
index_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
insert_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
isdbref_fn.mux Allow isdbref() to accept leading/trailing spaces (#454). 2026-03-04 10:43:32 -07:00
isign_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
isint_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
isnum_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
israt_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
isub_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
isword_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
itemize_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
ladd_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
land_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
last_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
lcstr_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
ldelete_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
ljust_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
lmax_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
lmin_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
ln_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
lnum_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
locate_poss.mux Fix smoke test semaphore inflation and add visual_width tests 2026-03-06 08:19:57 -07:00
lock_fn.mux Add possessive matching to locate() via 's' flag (#323). 2026-03-04 18:21:02 -07:00
log_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
lor_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
lpad_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
lpos_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
lt_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
lte_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
match_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
matchall_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
max_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
member_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
merge_fn.mux Add Unicode test cases for chr/ord and fix merge TC009 hash 2026-03-05 20:44:57 -07:00
mid_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
min_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
mod_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
mul_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
neq_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
noeval_fn.mux Implement NOEVAL object flag and attribute flag (#11). 2026-03-04 18:04:26 -07:00
not_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
objid_fn.mux Implement objid(), isobjid(), and %: substitution (#403). 2026-03-04 17:29:11 -07:00
oemit_fn.mux Implement @oemit/list and expand oemit() (#95). 2026-03-04 13:47:39 -07:00
or_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
orbool_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
ord_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
parenmatch_fn.mux Fix parse_to_lite boundary escape in function argument scanning 2026-03-07 12:37:40 -07:00
pi_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
pickrand_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
pos_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
power_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
README Fix cpad_fn.mux to work reasonably on 2.6. 2010-05-15 00:10:11 -07:00
remainder_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
remove_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
repeat_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
replace_fn.mux Add testcases for replace(). 2011-05-29 05:45:05 -07:00
rest_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
reverse_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
revwords_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
right_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
rjust_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
roman_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
round_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
rpad_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
secure_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
setdiff_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
setinter_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
setunion_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
sha1_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
shl_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
shr_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
shuffle_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
shutdown.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
sign_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
sin_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
singletime_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
smoke.flat Fix parse_to_lite boundary escape in function argument scanning 2026-03-07 12:37:40 -07:00
smoke.mux Fix smoke test semaphore inflation and add visual_width tests 2026-03-06 08:19:57 -07:00
sort_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
space_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
spellnum_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
splice_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
sqrt_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
squish_fn.mux Add squish() TC002 for two-character separators. 2025-03-25 06:31:09 -06:00
strcat_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
strip_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
stripansi_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
strlen_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
strmatch_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
strmem_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
strtrunc_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
sub_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
switch_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
t_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
table_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
tan_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
tr_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
translate_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
trim_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
trunc_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
ucstr_fn.mux Remove unnecessary trailing semicolons from test log lines 2026-03-07 06:39:52 -07:00
vadd_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
vcross_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
vdot_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
visual_width_fn.mux Fix smoke test semaphore inflation and add visual_width tests 2026-03-06 08:19:57 -07:00
vmag_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
vmul_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
vsub_fn.mux Add 63 new smoke tests expanding coverage from 32 to 95 functions. 2026-03-02 08:14:10 -07:00
vunit_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
wordpos_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
words_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00
wrap_fn.mux Remove SVN version stamp. 2020-08-08 17:39:08 -06:00
xor_fn.mux Add 69 new smoke tests expanding coverage from 95 to 164 functions. 2026-03-02 08:43:34 -07:00

This project holds the TinyMUX test cases.  The code is formatted and must be
unformatted and quoted into a game.

After building netmux from ./mux/src, the smoke test database, smoke.flat, is
built with:

    ./tools/Makesmoke

This above script depends on Sed, Perl, Telnet, and Expect.  It also starts
and stops a server instance on port 2860.  The test cases are unformated with
unformat.pl, a Perl script.  The resulting quotable installer is uploaded into
a running server running on port 2860 using upload.tcl, a Expect script.
Finally, the resulting database is unloaded and scrubbed with scrubflat.sed,
a Sed script.

The resulting smoke.flat database automatically runs all the tests and then
shuts itself down.  No clients connections are needed to initiate or manage
this.

After building the server from ./mux/src, the smoke test data, smoke.flat, is
used with:

    ./tools/Smoke

The results of the test will be in smoke.log.