mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[mongodb] Fix MongoDBPersistenceServiceTest
fails on CPU without AVX support (#17049)
Fixes #17046 Signed-off-by: René Ulbricht <rene_ulbricht@outlook.com>
This commit is contained in:
parent
35add30e0c
commit
ffee091c78
@ -15,6 +15,9 @@ package org.openhab.persistence.mongodb.internal;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.ArrayList;
|
||||
@ -224,6 +227,26 @@ public class DataCreationHelper {
|
||||
new QuantityType<>("25.00 °F"))));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the current system supports AVX (Advanced Vector Extensions).
|
||||
* AVX is a set of CPU instructions that can greatly improve performance for certain operations.
|
||||
*
|
||||
* @return true if AVX is supported, false otherwise
|
||||
*/
|
||||
public static boolean isAVXSupported() {
|
||||
try (BufferedReader reader = new BufferedReader(new FileReader("/proc/cpuinfo"))) {
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
if (line.toLowerCase().contains("avx")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides a stream of arguments to be used for parameterized tests.
|
||||
*
|
||||
@ -234,7 +257,7 @@ public class DataCreationHelper {
|
||||
* @return A stream of Arguments, each containing a DatabaseTestContainer instance.
|
||||
*/
|
||||
public static Stream<Arguments> provideDatabaseBackends() {
|
||||
if (DockerClientFactory.instance().isDockerAvailable()) {
|
||||
if (DockerClientFactory.instance().isDockerAvailable() && isAVXSupported()) {
|
||||
// If Docker is available, create a stream of Arguments with all backends
|
||||
return Stream.of(
|
||||
// Create a DatabaseTestContainer with a MemoryBackend
|
||||
|
@ -29,7 +29,6 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.bson.Document;
|
||||
import org.bson.types.ObjectId;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
@ -63,7 +62,6 @@ import de.bwaldvogel.mongo.backend.memory.MemoryBackend;
|
||||
*
|
||||
* @author René Ulbricht - Initial contribution
|
||||
*/
|
||||
@Disabled("Fails on CPUs without AVX support, see: https://github.com/openhab/openhab-addons/issues/17046")
|
||||
public class MongoDBPersistenceServiceTest {
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user