feat: add QR code functional tests across 41 languages

Native QR generation for each language's ecosystem:
- 27 languages use package manager QR libraries (qrcode, rqrcode, ZXing, etc.)
- 10 languages use C FFI to libqrencode (dlopen, ISO_C_BINDING, @cImport, critcl)
- 2 shell languages use qrencode CLI (native shell paradigm)
- 1 language (Prolog) uses C FFI with CLI fallback

Section 9 added to test-sdk.sh with get_qr_file() mapping and
QR:unsandbox-qr-ok:ROWS pattern validation across the hydra matrix.
This commit is contained in:
russell@unturf.com 2026-01-27 18:24:54 -05:00
parent 0f4755620f
commit d7388d43ba
42 changed files with 562 additions and 0 deletions

35
test/qr.cob Normal file
View file

@ -0,0 +1,35 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. QRCODE-TEST.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 QR-PTR USAGE POINTER.
01 QR-VERSION PIC S9(9) COMP-5.
01 QR-WIDTH PIC S9(9) COMP-5.
01 QR-DATA-PTR USAGE POINTER.
01 WS-TEXT PIC X(20) VALUE "unsandbox-qr-ok"
& X"00".
01 WS-ZERO PIC S9(9) COMP-5 VALUE 0.
01 WS-ONE PIC S9(9) COMP-5 VALUE 1.
01 WS-TWO PIC S9(9) COMP-5 VALUE 2.
PROCEDURE DIVISION.
MAIN-LOGIC.
CALL "QRcode_encodeString"
USING BY REFERENCE WS-TEXT
BY VALUE WS-ZERO
BY VALUE WS-ONE
BY VALUE WS-TWO
BY VALUE WS-ONE
RETURNING QR-PTR.
IF QR-PTR NOT = NULL
SET ADDRESS OF QR-VERSION TO QR-PTR
SET ADDRESS OF QR-WIDTH TO QR-PTR
DISPLAY "QR:unsandbox-qr-ok:ROWS:" QR-WIDTH
CALL "QRcode_free" USING BY VALUE QR-PTR
ELSE
DISPLAY "QR encode failed"
END-IF.
STOP RUN.