[K/N][tests] Use own reference implementation of availableProcessors()
^KT-61259
This commit is contained in:
committed by
Space Team
parent
9f2558f640
commit
2ec8e8cf63
@@ -4,8 +4,8 @@
|
|||||||
*/
|
*/
|
||||||
// TARGET_BACKEND: NATIVE
|
// TARGET_BACKEND: NATIVE
|
||||||
// MODULE: cinterop
|
// MODULE: cinterop
|
||||||
// FILE: cstdlib_setenv.def
|
// FILE: cstdlib.def
|
||||||
headers = stdlib.h
|
headers = stdlib.h processor_count.h
|
||||||
compilerOpts.mingw = -D ADD_WINDOWS_ENV_FUNCTIONS
|
compilerOpts.mingw = -D ADD_WINDOWS_ENV_FUNCTIONS
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -27,6 +27,15 @@ static inline int unsetenv(const char *name)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// FILE: processor_count.h
|
||||||
|
int availableProcessors();
|
||||||
|
|
||||||
|
// FILE: processor_count.cpp
|
||||||
|
#include <thread>
|
||||||
|
extern "C" {
|
||||||
|
#include "processor_count.h"
|
||||||
|
int availableProcessors () { return std::thread::hardware_concurrency(); }
|
||||||
|
}
|
||||||
|
|
||||||
// MODULE: main(cinterop)
|
// MODULE: main(cinterop)
|
||||||
// FILE: main.kt
|
// FILE: main.kt
|
||||||
@@ -34,17 +43,15 @@ static inline int unsetenv(const char *name)
|
|||||||
|
|
||||||
import kotlin.native.*
|
import kotlin.native.*
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
import cstdlib_setenv.*
|
import cstdlib.*
|
||||||
import kotlinx.cinterop.*
|
import kotlinx.cinterop.*
|
||||||
|
|
||||||
|
|
||||||
@OptIn(kotlin.ExperimentalStdlibApi::class)
|
@OptIn(kotlin.ExperimentalStdlibApi::class)
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
val platformProcessors: Int = Platform.getAvailableProcessors()
|
val platformProcessors: Int = Platform.getAvailableProcessors()
|
||||||
val jvmProcessors: Int = platformProcessors // Ideally, must be value of Runtime.getRuntime().availableProcessors() from testsystem
|
|
||||||
assertTrue(jvmProcessors > 0)
|
|
||||||
assertTrue(platformProcessors > 0)
|
assertTrue(platformProcessors > 0)
|
||||||
assertEquals(jvmProcessors, platformProcessors)
|
assertEquals(availableProcessors(), platformProcessors)
|
||||||
|
|
||||||
setenv("KOTLIN_NATIVE_AVAILABLE_PROCESSORS", "12345", 1)
|
setenv("KOTLIN_NATIVE_AVAILABLE_PROCESSORS", "12345", 1)
|
||||||
assertEquals(Platform.getAvailableProcessors(), 12345)
|
assertEquals(Platform.getAvailableProcessors(), 12345)
|
||||||
|
|||||||
Reference in New Issue
Block a user