mirror of
https://github.com/obra/episodic-memory.git
synced 2026-09-14 13:43:14 +08:00
dd5815f998
Co-authored-by: scottyallen <scottyallen@users.noreply.github.com> Claude-Session: https://claude.ai/code/session_0112vdwZphiWzfCYfaXMes4C
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import { describe, it, expect, afterEach } from 'vitest';
|
|
import { resolveIntraOpThreads } from '../src/embeddings.js';
|
|
|
|
const ENV_KEY = 'EPISODIC_MEMORY_EMBED_THREADS';
|
|
|
|
describe('resolveIntraOpThreads', () => {
|
|
const original = process.env[ENV_KEY];
|
|
|
|
afterEach(() => {
|
|
if (original === undefined) delete process.env[ENV_KEY];
|
|
else process.env[ENV_KEY] = original;
|
|
});
|
|
|
|
it('honors a positive integer override', () => {
|
|
process.env[ENV_KEY] = '4';
|
|
expect(resolveIntraOpThreads()).toBe(4);
|
|
});
|
|
|
|
it('treats 0 as "use onnxruntime default" (null)', () => {
|
|
process.env[ENV_KEY] = '0';
|
|
expect(resolveIntraOpThreads()).toBeNull();
|
|
});
|
|
|
|
it('treats a non-numeric override as default (null)', () => {
|
|
process.env[ENV_KEY] = 'nope';
|
|
expect(resolveIntraOpThreads()).toBeNull();
|
|
});
|
|
|
|
it('defaults to a small cap on Apple Silicon and null elsewhere when unset', () => {
|
|
delete process.env[ENV_KEY];
|
|
const result = resolveIntraOpThreads();
|
|
if (process.platform === 'darwin' && process.arch === 'arm64') {
|
|
expect(result).toBe(2);
|
|
} else {
|
|
expect(result).toBeNull();
|
|
}
|
|
});
|
|
});
|