Commit Graph
4262 Commits
Author SHA1 Message Date
Oliver Hamlet 061894647b Embed manifest in test executable built with MinGW
The tests create long paths when they see that the Registry value for long path support is set, and the manifest is supposed to advertise that the executable supports long paths. However, when the Registry value is set, the tests fail whether the manifest is embedded or not.

I'm not sure if that's an issue with Wine, MinGW or what I've done.
2026-02-03 08:53:42 +00:00
Oliver Hamlet 05c1c03e88 Add more tools to the dev container Dockerfile
- cargo-llvm-cov
- cargo-vet
- doxygen
- nodejs
- npm
- uv

With them, everything can now be built and run.
2026-02-03 08:53:42 +00:00
Oliver Hamlet 388b7fdf7d Add config to support building using dev containers
Tested with CLion and Podman on Fedora Kinoite 43.
2026-02-03 08:53:41 +00:00
Oliver Hamlet a5df347c16 Ignore CMake build directories used by CLion 2026-02-03 08:53:41 +00:00
Oliver Hamlet 81388873da Add bits for cross-compiling to Windows using MinGW
Some tests have been updated because UTF-8 is used as the native
path encoding with MinGW/Wine, unlike MSVC/Windows.

Some of the tests fail:

- 4 Rust tests fail because long paths are not enabled and so the
  paths used when creating symlinks and junction paths are too
  long. I've tested them with x86_64-pc-windows-gnu and
  x86_64-pc-windows-gnullvm, and both see the same behaviour. The
  tests pass when the MinGW-built executable is run on Windows, so
  this is a Wine limitation.
- 12 C++ tests fail because directory symlink creation is not
  implemented. They fail whether the MinGW-built executable is run
  in Wine or on Windows, so this is a MinGW limitation.
- 1 C++ filesystem test fails because long paths are not enabled.

The failing tests are skipped at runtime when built with MinGW,
aside from the one test for long paths being enabled, which expects
them to be disabled when built with MinGW.

If long paths are enabled, e.g. by running

wine reg add HKLM\\System\\CurrentControlSet\\Control\\Filesystem /v LongPathsEnabled /t REG_DWORD /d 1 /f

then many more tests fail because the C++ tests create long paths
when that Registry value is set, but it doesn't seem to actually
enable long path support in Wine, so various filesystem operations
fail.
2026-02-03 08:52:23 +00:00
Oliver Hamlet 6fb3c8fb6c Reformat table in cpp/README.md 2026-01-31 16:04:23 +00:00
Oliver Hamlet 45877669f1 Only create links in tests when necessary 2026-01-31 15:29:34 +00:00
Oliver Hamlet 10c6efca16 Use lowercase windows.h include
To fix a MinGW error.
2026-01-31 15:29:33 +00:00
Oliver Hamlet c6c3056d35 Move where Windows libraries are linked
To where they're actually used. The tests don't need them, and MinGW complains if they aren't linked to the first layer of the C++ wrapper.
2026-01-31 15:29:33 +00:00
Oliver Hamlet 7910670675 Refactor max path component length constant 2026-01-31 15:29:33 +00:00
Oliver Hamlet 832690957a Require loot-condition-interpreter v6
It includes new functionality that is required for the metadata syntax v0.29.

Add a couple of tests that rely on that new functionality so that the
dependency is backed by tests that fail if it's not met.
2026-01-27 20:09:28 +00:00
Oliver Hamlet 7fee083704 Require regress v0.10.5
There are tests that check for the functionality that version newly supports, so an earlier version won't work as expected.
2026-01-27 20:01:17 +00:00
Oliver Hamlet 28af151021 Update proc-macro2 to v1.0.106 2026-01-27 18:55:08 +00:00
Oliver Hamlet 7e2f52f896 Add an audit for proc-macro2 1.0.105 -> 1.0.106 2026-01-27 17:34:05 +00:00
Oliver HamletandGitHub 0bece6be3c Merge pull request #213 from loot/dependabot/npm_and_yarn/nodejs/lodash-4.17.23
Bump lodash from 4.17.21 to 4.17.23 in /nodejs
2026-01-25 10:24:59 +00:00
Oliver HamletandGitHub e41c45d6d6 Merge pull request #212 from loot/dependabot/npm_and_yarn/nodejs/tar-7.5.6
Bump tar from 7.5.3 to 7.5.6 in /nodejs
2026-01-25 10:20:33 +00:00
dependabot[bot]andGitHub b4019f3b36 Bump lodash from 4.17.21 to 4.17.23 in /nodejs
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 23:25:54 +00:00
dependabot[bot]andGitHub f109e53770 Bump tar from 7.5.3 to 7.5.6 in /nodejs
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.3 to 7.5.6.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.3...v7.5.6)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 20:25:09 +00:00
Oliver Hamlet 1443ae91c6 Update docs 2026-01-21 20:13:30 +00:00
Oliver Hamlet 8a7190bfd3 Don't say modifiers aren't supported
They're supported by regress as of v0.10.5.
2026-01-21 17:55:56 +00:00
Oliver Hamlet 7015db6211 Update loot-condition-interpreter to v6.0.0 2026-01-21 17:55:40 +00:00
Oliver Hamlet f606f169a5 Add condition field to plugin cleaning data metadata 2026-01-21 17:55:14 +00:00
Oliver Hamlet 027fcd60eb Update cargo-vet to v0.10.2 2026-01-19 18:28:11 +00:00
Oliver Hamlet 55510729ca Add some tests for regex syntax support
Some functionality is only supported because the regex is built with the
Unicode flag instead of the UnicodeSets flag, but that's done for
backwards compatibility as the latter disallows some syntax that may be
in use.
2026-01-18 21:33:23 +00:00
Oliver Hamlet 9c59d87f23 Change name of internal CMake custom target
It shows up when using libloot as a FetchContent dependency, and it's a bit confusing to have libloot and libloot-cpp-build when the latter isn't the one that a C++ project should really depend on.

libloot-cargo may still be confusing, but at least indicates what is involved.
2026-01-17 18:08:25 +00:00