[ffigen] Support concurrent tests
The main fix was to stop setting Directory.current. Luckily this only happened in the withChDir until, so it was easy to remove. For the most part that worked without any other changes. The only exception was the libclang-example test, which was relying on relative file paths in their extra clang command line options.
Also had to stop using Logger.root in the test context.
Fixes https://github.com/dart-lang/native/issues/461
coverage: 81.978% (+0.009%) from 81.969% when pulling 7ed5dbcbd6fbb00c4b294b121883004acd541311 on ffigen_concurrent_tests into 1391b39d7c6f9058213adb60117becd9d2dd0c86 on main.
PR Health
License Headers :heavy_check_mark:
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
| Files |
|---|
| no missing headers |
All source files should start with a license header.
Unrelated files missing license headers
| Files |
|---|
| pkgs/hooks_runner/test_data/download_assets/hook/build.dart |
| pkgs/objective_c/example/command_line/lib/main.dart |
| pkgs/objective_c/lib/src/ns_input_stream.dart |
This check can be disabled by tagging the PR with skip-license-check.
API leaks :heavy_check_mark:
The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.
| Package | Leaked API symbol | Leaking sources |
|---|
This check can be disabled by tagging the PR with skip-leaking-check.
Breaking changes :heavy_check_mark:
| Package | Change | Current Version | New Version | Needed Version | Looking good? |
|---|
This check can be disabled by tagging the PR with skip-breaking-check.
Changelog Entry :heavy_check_mark:
| Package | Changed Files |
|---|
Changes to files need to be accounted for in their respective changelogs.
This check can be disabled by tagging the PR with skip-changelog-check.