Skip to content

Commit 291d3dd

Browse files
committed
[#9601] Fix tests aarch64 compatible
1 parent 708a117 commit 291d3dd

File tree

54 files changed

+4734
-197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+4734
-197
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/*
2+
* Copyright 2023 NAVER Corp.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package com.pinpoint.test.plugin.spring.data.r2dbc;
17+
18+
import java.io.BufferedReader;
19+
import java.io.IOException;
20+
import java.io.InputStream;
21+
import java.io.InputStreamReader;
22+
import java.util.Arrays;
23+
import java.util.concurrent.TimeUnit;
24+
import java.util.stream.Collectors;
25+
26+
/**
27+
* @author youngjin.kim2
28+
*/
29+
public class DockerTestUtils {
30+
public static boolean isArmDockerServer() {
31+
return getDockerArchitecture().contains("arm");
32+
}
33+
34+
private static String getDockerArchitecture() {
35+
final String dockerInfo = execute("docker version", 3000);
36+
final String dockerServerInfo = dockerInfo.substring(dockerInfo.indexOf("Server: "));
37+
final String archLine = Arrays.stream(dockerServerInfo.split("\n"))
38+
.filter(line -> line.contains("OS/Arch:"))
39+
.findFirst()
40+
.orElseThrow(() -> new RuntimeException("Invalid docker version result"));
41+
return archLine.split(":")[1].trim();
42+
}
43+
44+
private static String execute(String command, long waitMillis) {
45+
try {
46+
return execute0(command, waitMillis);
47+
} catch (Throwable th) {
48+
throw new RuntimeException("Failed to run '" + command + "'");
49+
}
50+
}
51+
52+
private static String execute0(String command, long waitMillis) throws InterruptedException, IOException {
53+
final Process proc = Runtime.getRuntime().exec(command);
54+
if (!proc.waitFor(waitMillis, TimeUnit.MILLISECONDS)) {
55+
throw new RuntimeException();
56+
}
57+
return readAll(proc.getInputStream());
58+
}
59+
60+
private static String readAll(InputStream is) {
61+
return new BufferedReader(new InputStreamReader(is))
62+
.lines()
63+
.collect(Collectors.joining("\n"));
64+
}
65+
}

agent-testweb/spring-data-r2dbc-plugin-testweb/src/test/java/com/pinpoint/test/plugin/spring/data/r2dbc/R2dbcH2Test.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ public class R2dbcH2Test {
3535
@BeforeClass
3636
public static void beforeClass() {
3737
Assume.assumeTrue("Docker not enabled", DockerClientFactory.instance().isDockerAvailable());
38+
Assume.assumeFalse(DockerTestUtils.isArmDockerServer());
3839

39-
container = new MariaDBContainer();
40+
container = new MariaDBContainer("mariadb:10.3.6");
4041
container.withDatabaseName(DATABASE_NAME);
4142
container.withUsername(USERNAME);
4243
container.withPassword(PASSWORD);

agent-testweb/spring-data-r2dbc-plugin-testweb/src/test/java/com/pinpoint/test/plugin/spring/data/r2dbc/R2dbcMariadbTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ public class R2dbcMariadbTest {
3535
@BeforeClass
3636
public static void beforeClass() {
3737
Assume.assumeTrue("Docker not enabled", DockerClientFactory.instance().isDockerAvailable());
38+
Assume.assumeFalse(DockerTestUtils.isArmDockerServer());
3839

39-
container = new MariaDBContainer();
40+
container = new MariaDBContainer("mariadb:10.3.6");
4041
container.withDatabaseName(DATABASE_NAME);
4142
container.withUsername(USERNAME);
4243
container.withPassword(PASSWORD);

agent-testweb/spring-data-r2dbc-plugin-testweb/src/test/java/com/pinpoint/test/plugin/spring/data/r2dbc/R2dbcMssqlTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class R2dbcMssqlTest {
3232
public static void beforeClass() {
3333
Assume.assumeTrue("Docker not enabled", DockerClientFactory.instance().isDockerAvailable());
3434

35-
container = new MSSQLServerContainer();
35+
container = new MSSQLServerContainer("mcr.microsoft.com/mssql/server:2017-CU12");
3636
container.withInitScript("mssql-init.sql");
3737
container.start();
3838

agent-testweb/spring-data-r2dbc-plugin-testweb/src/test/java/com/pinpoint/test/plugin/spring/data/r2dbc/R2dbcMysqlTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class R2dbcMysqlTest {
3737
public static void beforeClass() {
3838
Assume.assumeTrue("Docker not enabled", DockerClientFactory.instance().isDockerAvailable());
3939

40-
container = new MySQLContainer();
40+
container = new MySQLContainer("mysql:5.7.34");
4141
container.withDatabaseName(DATABASE_NAME);
4242
container.withUsername(USERNAME);
4343
container.withPassword(PASSWORD);

agent-testweb/spring-data-r2dbc-plugin-testweb/src/test/java/com/pinpoint/test/plugin/spring/data/r2dbc/R2dbcOracleTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class R2dbcOracleTest {
3939
@BeforeClass
4040
public static void beforeClass() {
4141
Assume.assumeTrue("Docker not enabled", DockerClientFactory.instance().isDockerAvailable());
42+
Assume.assumeFalse(DockerTestUtils.isArmDockerServer());
4243

4344
container = new OracleContainer(ORACLE_21_X_IMAGE);
4445
container.setWaitStrategy(Wait.forLogMessage(".*Completed.*", 1));

bootstraps/bootstrap/src/test/java/com/navercorp/pinpoint/bootstrap/agentdir/AgentDirBaseClassPathResolverTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public class AgentDirBaseClassPathResolverTest {
5555
@BeforeAll
5656
public static void beforeClass() throws Exception {
5757

58+
TEMP_DIR = TEMP_DIR.toRealPath().normalize();
5859
logger.debug("buildDir:{}", TEMP_DIR);
5960

6061
String testDir = TEST_AGENT_DIR + '_' + AGENT_ID_ALLOCATOR.incrementAndGet();

plugins-it/google-grpc-it/pom.xml

+28-19
Original file line numberDiff line numberDiff line change
@@ -85,25 +85,34 @@
8585
<groupId>org.apache.maven.plugins</groupId>
8686
<artifactId>maven-failsafe-plugin</artifactId>
8787
</plugin>
88-
89-
<plugin>
90-
<groupId>org.xolstice.maven.plugins</groupId>
91-
<artifactId>protobuf-maven-plugin</artifactId>
92-
<version>0.5.1</version>
93-
<configuration>
94-
<protocArtifact>com.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}</protocArtifact>
95-
<pluginId>grpc-java</pluginId>
96-
<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
97-
</configuration>
98-
<executions>
99-
<execution>
100-
<goals>
101-
<goal>test-compile</goal>
102-
<goal>test-compile-custom</goal>
103-
</goals>
104-
</execution>
105-
</executions>
106-
</plugin>
10788
</plugins>
10889
</build>
90+
91+
<profiles>
92+
<profile>
93+
<id>renew-grpc</id>
94+
<build>
95+
<plugins>
96+
<plugin>
97+
<groupId>org.xolstice.maven.plugins</groupId>
98+
<artifactId>protobuf-maven-plugin</artifactId>
99+
<version>0.5.1</version>
100+
<configuration>
101+
<protocArtifact>com.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}</protocArtifact>
102+
<pluginId>grpc-java</pluginId>
103+
<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
104+
</configuration>
105+
<executions>
106+
<execution>
107+
<goals>
108+
<goal>test-compile</goal>
109+
<goal>test-compile-custom</goal>
110+
</goals>
111+
</execution>
112+
</executions>
113+
</plugin>
114+
</plugins>
115+
</build>
116+
</profile>
117+
</profiles>
109118
</project>

0 commit comments

Comments
 (0)