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

FileAccessImplTest fails on MacOS with gatekeeper #452

Closed
hohwille opened this issue Jul 6, 2024 · 1 comment
Closed

FileAccessImplTest fails on MacOS with gatekeeper #452

hohwille opened this issue Jul 6, 2024 · 1 comment
Labels
bug Something isn't working invalid This doesn't seem right macOS specific for Apple MacOS
Milestone

Comments

@hohwille
Copy link
Member

hohwille commented Jul 6, 2024

Gatekeeper is doing way more harm than #451.
On my MacBookPro I get this test errors:

[ERROR] Failures:
[ERROR]   FileAccessImplTest.testSymlinkAbsolute:72->assertSymlinksWork:404->assertSymlinkToRealPath:447
expected: /var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit10499935885507667609/parent/d1
 but was: /private/var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit10499935885507667609/parent/d1
[ERROR]   FileAccessImplTest.testSymlinkAbsolutePassingRelativeSource:95->assertSymlinksWork:404->assertSymlinkToRealPath:447
expected: /var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit15091426313143438947/parent/d1
 but was: /private/var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit15091426313143438947/parent/d1
[ERROR]   FileAccessImplTest.testSymlinkRelativeWorkAfterMoving:207->assertSymlinksWork:404->assertSymlinkToRealPath:447
expected: /var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit16314305924946954760/parent2/d1
 but was: /private/var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit16314305924946954760/parent2/d1
[ERROR]   FileAccessImplTest.testSymlinkRelativeWorkAfterMovingPassingRelativeSource:178->assertSymlinksWork:404->assertSymlinkToRealPath:447
expected: /var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit12627876745148940653/parent2/d1
 but was: /private/var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit12627876745148940653/parent2/d1
[ERROR]   FileAccessImplTest.testSymlinkShortcutPaths:258->assertSymlinkToRealPath:447
expected: /var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit361661192660926905/parent/d1
 but was: /private/var/folders/gk/7stbxyd17w3cfxw4m_4bfzlr0000gn/T/junit361661192660926905/parent/d1
[ERROR] Errors:
[ERROR]   InstallCommandletTest.testInstallCommandletRunWithVersion:73 » IllegalState Failed to extract /Users/hohwille/projects/ideasy/workspaces/main/IDEasy/cli/target/test-projects/basic/project/home/Downloads/ide/default/java-17.0.6-mac-x64.zip to /Users/hohwille/projects/ideasy/workspaces/main/IDEasy/cli/target/test-projects/basic/_ide/tmp/extract-java-17.0.6-mac-x64.zip
[ERROR]   InstallCommandletTest.testInstallCommandletRunWithVersionAndVersionIdentifier:92 » IllegalState Failed to extract /Users/hohwille/projects/ideasy/workspaces/main/IDEasy/cli/target/test-projects/basic/project/home/Downloads/ide/default/java-17.0.6-mac-x64.zip to /Users/hohwille/projects/ideasy/workspaces/main/IDEasy/cli/target/test-projects/basic/_ide/tmp/extract-java-17.0.6-mac-x64.zip

The FileAccessImplTest errors seem to come from gatekeeper.
It seems that the tmp directory on MacOS has changed and now does additional magic.
It is so extremly hard to support MacOS as they do updates and changes over night that break "everything".

The other error seems to be a different problem and might need its own bug issue:

java.lang.IllegalStateException: Failed to extract /Users/hohwille/projects/ideasy/workspaces/main/IDEasy/cli/target/test-projects/basic/project/home/Downloads/ide/default/java-17.0.6-mac-x64.zip to /Users/hohwille/projects/ideasy/workspaces/main/IDEasy/cli/target/test-projects/basic/_ide/tmp/extract-java-17.0.6-mac-x64.zip
	at com.devonfw.tools.ide.io.FileAccessImpl.extractArchive(FileAccessImpl.java:658)
	at com.devonfw.tools.ide.io.FileAccessImpl.extractZip(FileAccessImpl.java:597)
	at com.devonfw.tools.ide.io.FileAccessImpl.extract(FileAccessImpl.java:541)
	at com.devonfw.tools.ide.tool.LocalToolCommandlet.installInRepo(LocalToolCommandlet.java:176)
	at com.devonfw.tools.ide.tool.LocalToolCommandlet.doInstall(LocalToolCommandlet.java:87)
	at com.devonfw.tools.ide.tool.ToolCommandlet.install(ToolCommandlet.java:181)
	at com.devonfw.tools.ide.commandlet.InstallCommandlet.run(InstallCommandlet.java:49)
	at com.devonfw.tools.ide.commandlet.InstallCommandletTest.testInstallCommandletRunWithVersion(InstallCommandletTest.java:73)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91)
	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60)
	at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:100)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
Caused by: java.util.zip.ZipException: Unexpected record signature: 0x88b1f
	at org.apache.commons.compress.archivers.zip.ZipArchiveInputStream.getNextZipEntry(ZipArchiveInputStream.java:763)
	at org.apache.commons.compress.archivers.zip.ZipArchiveInputStream.getNextEntry(ZipArchiveInputStream.java:726)
	at com.devonfw.tools.ide.io.FileAccessImpl.extractArchive(FileAccessImpl.java:630)
	... 77 more

So actually the ZIP test archive seems corrupted. Maybe some git issue on MacOS.
Since it is also related to the tmp directory on MacOS it may also have the same reason but the ZipException: Unexpected record signature: 0x88b1f seems to imply it has a different reason.

@hohwille
Copy link
Member Author

hohwille commented Sep 3, 2024

This is clearly a duplicate of #552. I will therefore close this issue as invalid (since it has nothing to do with Gatekeeper).

@hohwille hohwille closed this as not planned Won't fix, can't repro, duplicate, stale Sep 3, 2024
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in IDEasy board Sep 3, 2024
@hohwille hohwille added this to the rejected milestone Sep 3, 2024
@hohwille hohwille added the invalid This doesn't seem right label Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working invalid This doesn't seem right macOS specific for Apple MacOS
Projects
Status: ✅ Done
Development

No branches or pull requests

1 participant