28 lines
1.0 KiB
JavaScript
28 lines
1.0 KiB
JavaScript
import assert from 'node:assert/strict';
|
|
import { createHash } from 'node:crypto';
|
|
import { createRequire } from 'node:module';
|
|
import { dirname, resolve } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
import { gzipSync, gunzipSync } from 'node:zlib';
|
|
|
|
const require = createRequire(import.meta.url);
|
|
const isNumber = require('is-number');
|
|
|
|
export async function probe() {
|
|
assert.equal(process.arch, 'arm64');
|
|
const bundle = resolve(dirname(fileURLToPath(import.meta.url)), '..');
|
|
assert.equal(process.execPath, resolve(bundle, 'runtime/bin/node'));
|
|
assert.equal(require('is-number/package.json').version, '7.0.0');
|
|
assert.equal(isNumber('42'), true);
|
|
assert.equal(isNumber('invalid'), false);
|
|
const message = Buffer.from('ARM 独立依赖');
|
|
assert.deepEqual(gunzipSync(gzipSync(message)), message);
|
|
assert.equal(createHash('sha256').update(message).digest().length, 32);
|
|
await Promise.resolve();
|
|
return { okay: true };
|
|
}
|
|
|
|
export async function reject() {
|
|
throw new Error('expected ARM Worker failure');
|
|
}
|