@zenfs/core
Version:
A filesystem, anywhere
36 lines (27 loc) • 965 B
text/typescript
// SPDX-License-Identifier: LGPL-3.0-or-later
import { sync } from '@zenfs/core';
import assert from 'node:assert/strict';
import { suite, test } from 'node:test';
import { fs } from '../common.js';
const n_files = 130;
const huge_size = 0x1000000;
// Tests for having a lot of various things (number of inodes/files, individual file size, etc.).
suite('Scaling', () => {
test('Lots of inodes/files', async () => {
fs.mkdirSync('/n');
for (let i = 0; i < n_files; i++) {
fs.writeFileSync('/n/' + i, i.toString(16));
}
await sync();
assert.equal(fs.readdirSync('/n').length, n_files);
const results = [];
for (let i = 0; i < n_files; i++) {
results.push(fs.promises.readFile('/n/' + i, 'utf8').then(val => assert.equal(val, i.toString(16))));
}
await Promise.all(results);
});
test('Singular file size', () => {
fs.writeFileSync('/huge', new Uint8Array(huge_size));
assert.equal(fs.statSync('/huge').size, huge_size);
});
});