Initial curated chimera source from a8ae5b1db07fb49926c94585e2718e5130330974

This commit is contained in:
Public Source Publisher committed 2026-10-01 01:38:08 +02:00
commit c737a37f71
531 files changed
+119270

No files matched your search

+67
View File
@@ -0,0 +1,67 @@
'use strict';
const test = require('node:test');
const assert = require('node:assert/strict');
const {
VERSION, compareVersions, parseChiakiLog, validateArchiveEntries, validateReleaseMetadata,
} = require('../../remote-play-worker/worker');
function releaseFixture(overrides = {}) {
const name = 'chiaki-ng-win_x64-MSYS2-Release-portable.zip';
return {
tag_name: 'v1.10.0', draft: false, prerelease: false,
assets: [{
name, size: 101_237_965,
digest: `sha256:${'ab'.repeat(32)}`,
browser_download_url: `https://github.com/streetpea/chiaki-ng/releases/download/v1.10.0/${name}`,
}],
...overrides,
};
}
test('Remote Play worker validates only the expected stable upstream portable asset', () => {
const release = validateReleaseMetadata(releaseFixture(), 'x64');
assert.equal(release.version, '1.10.0');
assert.equal(release.size, 101_237_965);
assert.match(release.sha256, /^[a-f0-9]{64}$/);
assert.throws(() => validateReleaseMetadata(releaseFixture({ prerelease: true }), 'x64'), /stabiele/);
const wrongHost = releaseFixture();
wrongHost.assets[0].browser_download_url = wrongHost.assets[0].browser_download_url.replace('github.com', 'example.test');
assert.throws(() => validateReleaseMetadata(wrongHost, 'x64'), /officiële releasepad/);
const noDigest = releaseFixture();
noDigest.assets[0].digest = null;
assert.throws(() => validateReleaseMetadata(noDigest, 'x64'), /SHA-256/);
});
test('Remote Play worker rejects archive traversal before extraction', () => {
assert.deepEqual(validateArchiveEntries('chiaki-ng-Win/\nchiaki-ng-Win/chiaki.exe\n'), ['chiaki-ng-Win/', 'chiaki-ng-Win/chiaki.exe']);
assert.throws(() => validateArchiveEntries('../outside.exe\n'), /onveilig pad/);
assert.throws(() => validateArchiveEntries('C:\\Windows\\outside.exe\n'), /onveilig pad/);
assert.throws(() => validateArchiveEntries('/absolute/outside.exe\n'), /onveilig pad/);
});
test('Remote Play worker reports only aggregate non-secret stream health', () => {
const health = parseChiakiLog(`
Using hardware decoder "vulkan" with pix_fmt=vulkan
Switched to profile 0, resolution: 1920x1080
Senkusha determined average RTT = 5.602 ms
Detected missing or corrupt frame(s)
FEC failed
Missing unit
Received duplicate unit
AVCodec internal buffer is full removing frames before pushing
AVCodec internal buffer is full removing frames before pushing
`, 1234);
assert.deepEqual(health, {
checkedAt: 1234, resolution: '1920x1080', rttMs: 5.6, decoder: 'vulkan',
packetErrors: 3, duplicateUnits: 1, decoderDrops: 2, status: 'degraded',
});
assert.doesNotMatch(JSON.stringify(health), /account|regist|192\.168\./i);
});
test('Remote Play worker uses semantic client versions', () => {
assert.equal(VERSION, '1.1.0');
assert.equal(compareVersions('1.10.0', '1.9.9'), 1);
assert.equal(compareVersions('1.10.0.0', 'v1.10.0'), 0);
assert.equal(compareVersions('invalid', '1.10.0'), null);
});