feat: add Zenith strategy and move latency tracing
Build and Push Docker Container / build-and-push (push) Successful in 2m18s
Build and Push Docker Container / build-and-push (push) Successful in 2m18s
- Register Zenith 1.1 with balanced duel verdicts and forced-outcome overrides. - Prioritize permanent-trail space in Constrictor and health-aware hazard routes. - Deduct executor queue delays and return fallback directions on move timeouts. - Correlate response headers, replay timings, and sampled structured trace logs. - Move shared metrics publication off the response path without losing local counts. - Allow configurable tournament opponents and add a psql helper recipe. - Preserve empty latency values through compact replay encoding and migration. - Update Arena game links and use default assets for missing customizations. - Cover strategy, HTTP lifecycle, tracing, replay codecs, and dashboard behavior. - Validate with 260 passing Python tests, 4 skips, and 2 passing JavaScript tests.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import { readFileSync } from 'node:fs';
|
||||
import vm from 'node:vm';
|
||||
import test from 'node:test';
|
||||
|
||||
const source = readFileSync(new URL('../../templates/files/js/Snake.js', import.meta.url), 'utf8');
|
||||
const SnakeUtils = vm.runInNewContext(`${source}\nSnakeUtils`);
|
||||
|
||||
test('empty or missing head/tail uses the default SVG', () => {
|
||||
for (const kind of ['heads', 'tails']) {
|
||||
for (const value of [undefined, null, '', ' ']) {
|
||||
assert.equal(SnakeUtils.buildCustomizationIconUrl(kind, value), `/dashboard/customizations/${kind}/default.svg`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
test('explicit customizations and invalid-name validation are preserved', () => {
|
||||
assert.equal(SnakeUtils.buildCustomizationIconUrl('tails', 'ghost'), '/dashboard/customizations/tails/ghost.svg');
|
||||
assert.equal(SnakeUtils.buildCustomizationIconUrl('heads', 'crystal-power'), '/dashboard/customizations/heads/crystal-power.svg');
|
||||
assert.equal(SnakeUtils.buildCustomizationIconUrl('tails', '../ghost'), null);
|
||||
});
|
||||
Reference in New Issue
Block a user