Commit graph mql5-tick-compression/tests/mql2cpp.py
Author SHA1 Message Date
Claude Claude
49c1941b98 Check include paths when translating MQL5 to C++
The translator now requires every #include to be a quoted path to an
existing file relative to the including file, as MetaEditor resolves it,
so a broken include path fails the tests instead of only the MetaEditor
build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:26:15 -08:00
Claude Claude
6b18a065ee Test the MetaTrader scripts end to end in an emulated terminal
mql2cpp.py now also translates scripts (input variables, D'...' date
literals) and mql5_shim.h emulates the terminal functions they use
(CopyTicksRange/CopyTicks over a loaded tick file, TimeToStruct,
custom symbols, Comment, captured Print output). test_scripts.cpp runs
TkzExport with day/week/month chunks and checks every chunk against
independent calendar periods, then TkzVerify, TkzToCustom (including a
re-import) and TkzSelfTest. Also fix the shim's ArrayResize reserve
semantics, which reallocated on every call.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 17:06:47 -08:00
Claude Claude
2f8ab68225 Add MQL5-to-C++ test harness for the codec
mql2cpp.py translates the MQL5 sources into C++, mql5_shim.h emulates
the MQL5 runtime (bounds-checked arrays, poisoned ArrayResize memory,
file API). test_codec.cpp runs synthetic edge cases, corruption checks,
archive tests and bit-exact round trips on real tick files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:07:23 -08:00