Fixup-state-db is effectively only used in fetchPnpmDeps.
We previously included the SQLite database in the FOD, it was first
problematic as it produced different hashes on linux and darwin, but
SQLite version updates have a higher chance of changing the DB format
and break our hashes, that just happened with the 3.53.1 -> 3.53.3 bump.
Nowadays fetchPnpmDeps relies on the SQL dump of the database which is
more stable, but in the past hashes were broken once.
The point is, we no longer rely on the raw DB, but only it's dump, so
it's safe to assert for that in this test.
SQLite update changed the format of the raw DB (which this test uses)
and also the dump format. Supported `fetcherVersion`s in `fetchPnpmDeps`
no longer rely on the raw DB file being stable, so it's fine to update this hash.
Tests the SQLite dump/reconstruct code path introduced in fetcherVersion 4,
which ensures reproducibility of the pnpm v11 store index.
Assisted-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Make the fetcher version explicit in the test name in preparation for
adding a v4 test.
Assisted-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
If the lockfile is empty, no files will be put in the output directory.
In this case, the find invocations produce an empty list of results.
xargs' default behaviour is to always invoke its command at least once;
if its input is empty, then its command will not be passed any
filenames. This produces an invocation like `chmod 555`. chmod, however,
fails in this case, expecting an operand. So we need to tell xargs not
to invoke its command at all in the case of empty input.