Commit 7edf7fd
Marcos Hernandez
fix(engine-host): runner.c emite hex en lugar de bytes raw (cross-platform)
CI Windows fallaba en los tests de PCX decode con SHA-256 mismatch:
expected 0dd56df8...
received ac0e66a4...
Causa: en Windows, stdout tiene LF→CRLF translation por defecto. Cuando
el runner C emitía los bytes raw del buffer decodificado en stdout,
cualquier byte 0x0A en el buffer se convertía a 0x0D 0x0A al salir,
corrompiendo el SHA-256 del lado JS.
Mac/Linux no tienen ese translation, por eso solo Windows fallaba.
Fix: el runner emite el buffer como cadena hex (2 chars por byte) en
lugar de bytes raw. Cero bytes 0x0A potenciales en el output. Funciona
idéntico cross-platform sin necesidad de _setmode(_O_BINARY) ni
similares parches específicos de Windows.
Coste: ~2x bytes en stdout (cada byte = 2 chars hex). Despreciable
para fixtures pequeños (32x16=512 hasta 144*16*16=36864 bytes max).
Goldens NO cambian: el SHA-256 se calcula sobre los bytes decodificados
(parsed del hex en el lado JS), no sobre el formato del stdout. Así
que goldens/engine/pcx/*.sha256.txt siguen siendo válidos.
Suite mac local: 257/257 verde. Próximo CI valida Windows.1 parent f0b4686 commit 7edf7fd
2 files changed
Lines changed: 31 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
47 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
48 | 56 | | |
49 | 57 | | |
50 | 58 | | |
| |||
71 | 79 | | |
72 | 80 | | |
73 | 81 | | |
74 | | - | |
75 | | - | |
76 | | - | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
77 | 88 | | |
78 | 89 | | |
79 | 90 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
66 | 70 | | |
67 | 71 | | |
68 | 72 | | |
69 | 73 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
78 | 83 | | |
79 | | - | |
| 84 | + | |
80 | 85 | | |
81 | | - | |
| 86 | + | |
82 | 87 | | |
83 | 88 | | |
84 | 89 | | |
| |||
0 commit comments