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.ArgumentMatchers.any;
|
||||||
import static org.mockito.Mockito.when;
|
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.LocalDate;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -224,6 +227,26 @@ public class DataCreationHelper {
|
|||||||
new QuantityType<>("25.00 °F"))));
|
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.
|
* 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.
|
* @return A stream of Arguments, each containing a DatabaseTestContainer instance.
|
||||||
*/
|
*/
|
||||||
public static Stream<Arguments> provideDatabaseBackends() {
|
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
|
// If Docker is available, create a stream of Arguments with all backends
|
||||||
return Stream.of(
|
return Stream.of(
|
||||||
// Create a DatabaseTestContainer with a MemoryBackend
|
// Create a DatabaseTestContainer with a MemoryBackend
|
||||||
|
@ -29,7 +29,6 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
import org.bson.Document;
|
import org.bson.Document;
|
||||||
import org.bson.types.ObjectId;
|
import org.bson.types.ObjectId;
|
||||||
import org.junit.jupiter.api.Disabled;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.params.ParameterizedTest;
|
import org.junit.jupiter.params.ParameterizedTest;
|
||||||
import org.junit.jupiter.params.provider.MethodSource;
|
import org.junit.jupiter.params.provider.MethodSource;
|
||||||
@ -63,7 +62,6 @@ import de.bwaldvogel.mongo.backend.memory.MemoryBackend;
|
|||||||
*
|
*
|
||||||
* @author René Ulbricht - Initial contribution
|
* @author René Ulbricht - Initial contribution
|
||||||
*/
|
*/
|
||||||
@Disabled("Fails on CPUs without AVX support, see: https://github.com/openhab/openhab-addons/issues/17046")
|
|
||||||
public class MongoDBPersistenceServiceTest {
|
public class MongoDBPersistenceServiceTest {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user