Menu

Commit [r13045]  Maximize  Restore  History

.NET: protocol-level fidelity probe, and a row/column fix it found

dotnet/fidelity/ui/ runs the same sequence of UI operations through both
runtimes and diffs the message streams. The envelope and PROGRAMSTARTUP
are filtered out - a .NET program does not reproduce those and should
not - so what is compared is the message bodies.

It failed on its first run, and the bug was mine: in DISPLAYAT, X is the
COLUMN and Y is the ROW, so 4GL's "AT row, column" is transposed on the
wire. I had it the wrong way round in both the probe and the reference
example, where DISPLAY ... AT n, 1 was emitting X:n, Y:1. It only shows
up when the row and column differ, which is why AT 1,1 looked fine.

Now six messages byte-identical across the two runtimes. DisplayAt says
which field is which, so it does not get repeated.

mikeaubury 2026-09-02

changed /aubit4glsrc/trunk/dotnet/examples/CustomerList.cs
changed /aubit4glsrc/trunk/dotnet/fidelity
added /aubit4glsrc/trunk/dotnet/fidelity/ui
added /aubit4glsrc/trunk/dotnet/fidelity/ui/cs
added /aubit4glsrc/trunk/dotnet/fidelity/ui/cs/Program.cs
added /aubit4glsrc/trunk/dotnet/fidelity/ui/cs/UiProbe.csproj
added /aubit4glsrc/trunk/dotnet/fidelity/ui/run.sh
added /aubit4glsrc/trunk/dotnet/fidelity/ui/ui.4gl
changed /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiMessage.cs
changed /aubit4glsrc/trunk/dotnet/tests/Aubit4GL.Runtime.Tests/CustomerListExample.cs
/aubit4glsrc/trunk/dotnet/examples/CustomerList.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/fidelity/ui/cs/Program.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/fidelity/ui/cs/UiProbe.csproj Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/fidelity/ui/run.sh Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/fidelity/ui/ui.4gl Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiMessage.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/tests/Aubit4GL.Runtime.Tests/CustomerListExample.cs Diff Switch to side-by-side view
Loading...