Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests: fix OpenAL test case on case sensitive fs on macOS #13349

Merged
merged 1 commit into from
Jun 23, 2024

Conversation

lf-
Copy link
Contributor

@lf- lf- commented Jun 23, 2024

Preface: why are we doing this?

For reasons of cross-platform interop, the Lix team is strongly considering switching to build on a case sensitive filesystem in the macOS installation, since otherwise storing case overlapping filenames is busted and requires very very bad hacks:
https://git.lix.systems/lix-project/lix/issues/332

What's wrong:

Command line: `clang++ '/nix/temp/meson/b d01bff197e/meson-private/tmpjqid64j1/testfile.cpp' -o '/nix/temp/meson/b d01bff197e/meson-private/tmpjqid64j1/output.exe' -O0 -fpermissive -Werror=implicit-function-declaration -F/nix/store/qa92ravmclyraw7b46cz3q3m834mmbw9-apple-framework-OpenAL/Library/Frameworks -framework openal` -> 1 stderr:
ld: framework not found openal
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)

Why is that happening:

$ ls /nix/store/qa92ravmclyraw7b46cz3q3m834mmbw9-apple-framework-OpenAL/Library/Frameworks
OpenAL.framework

So the test was relying on case insensitive fs, which is not a reliable assumption on all macOS installations (since weird people like us can set their fs to case sensitive!).

Preface: why are we doing this?

For reasons of cross-platform interop, the Lix team is strongly
considering switching to build on a case sensitive filesystem in the
macOS installation, since otherwise storing case overlapping filenames
is busted and requires very very bad hacks:
https://git.lix.systems/lix-project/lix/issues/332

What's wrong:

Command line: `clang++ '/nix/temp/meson/b d01bff197e/meson-private/tmpjqid64j1/testfile.cpp' -o '/nix/temp/meson/b d01bff197e/meson-private/tmpjqid64j1/output.exe' -O0 -fpermissive -Werror=implicit-function-declaration -F/nix/store/qa92ravmclyraw7b46cz3q3m834mmbw9-apple-framework-OpenAL/Library/Frameworks -framework openal` -> 1
stderr:
ld: framework not found openal
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)

Why is that happening:

$ ls /nix/store/qa92ravmclyraw7b46cz3q3m834mmbw9-apple-framework-OpenAL/Library/Frameworks
OpenAL.framework

So the test was relying on case insensitive fs, which is not a reliable
assumption on all macOS installations (since weird people like us can
set their fs to case sensitive!).
@lf- lf- requested a review from jpakkane as a code owner June 23, 2024 07:31
@jpakkane jpakkane merged commit 5597b67 into mesonbuild:master Jun 23, 2024
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants