testament: remove deadcode related to realtimeGC, testC, callCCompiler (#18087)

This commit is contained in:
Timothee Cour 2021-05-26 11:49:01 -07:00 • committed by GitHub
commit 1e0165186b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 15 additions and 162 deletions

View file

@ -1,69 +0,0 @@
/* xxx consider removing, this seems redundant with tmain.nim */
#ifdef WIN
#include <windows.h>
#else
#include <dlfcn.h>
#include <unistd.h> /* for sleep(3) */
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <time.h>
#define RUNTIME (15*60)
typedef void (*pFunc)(void);
int main(int argc, char* argv[])
{
int i;
void* hndl;
pFunc status;
pFunc count;
pFunc checkOccupiedMem;
#ifdef WIN
hndl = (void*) LoadLibrary((char const*)"./tests/realtimeGC/shared.dll");
status = (pFunc)GetProcAddress((HMODULE) hndl, (char const*)"status");
count = (pFunc)GetProcAddress((HMODULE) hndl, (char const*)"count");
checkOccupiedMem = (pFunc)GetProcAddress((HMODULE) hndl, (char const*)"checkOccupiedMem");
#else /* OSX || NIX xxx: OSX assumes dylib*/
hndl = (void*) dlopen((char const*)"./tests/realtimeGC/libshared.so", RTLD_LAZY);
status = (pFunc) dlsym(hndl, (char const*)"status");
count = (pFunc) dlsym(hndl, (char const*)"count");
checkOccupiedMem = (pFunc) dlsym(hndl, (char const*)"checkOccupiedMem");
#endif
assert(hndl);
assert(status);
assert(count);
assert(checkOccupiedMem);
time_t startTime = time((time_t*)0);
time_t runTime = (time_t)(RUNTIME);
time_t accumTime = 0;
while (accumTime < runTime) {
for (i = 0; i < 10; i++)
count();
/* printf("1. sleeping...\n"); */
sleep(1);
for (i = 0; i < 10; i++)
status();
/* printf("2. sleeping...\n"); */
sleep(1);
checkOccupiedMem();
accumTime = time((time_t*)0) - startTime;
/* printf("--- Minutes left to run: %d\n", (int)(runTime-accumTime)/60); */
}
printf("Cleaning up the shared object pointer...\n");
#ifdef WIN
FreeLibrary((HMODULE)hndl);
#else /* OSX || NIX */
dlclose(hndl);
#endif
printf("Done\n");
return 0;
}

View file

@ -1,10 +0,0 @@
Test the realtime GC without linking nimrtl.dll/so.
To build by hand and run the test for 35 minutes:
$ nim r --threads:on -d:runtimeSecs:2100 tests/realtimeGC/nmain.nim
```
xxx do we still need tests/realtimeGC/cmain.c?
if so, tests/realtimeGC/cmain.c needs to updated and factorized with nmain.nim to avoid duplication (even if it's a C file)
```
$ gcc -o tests/realtimeGC/cmain tests/realtimeGC/cmain.c -ldl

View file

@ -9,6 +9,13 @@ these dont' seem needed --debuginfo
nor these from the previous main.nim.cfg: --app:console
]#
#[
Test the realtime GC without linking nimrtl.dll/so.
To build by hand and run the test for 35 minutes:
`nim r --threads:on -d:runtimeSecs:2100 tests/realtimeGC/tmain.nim`
]#
import times, os, strformat, strutils
from stdtest/specialpaths import buildDir
# import threadpool
@ -16,9 +23,10 @@ from stdtest/specialpaths import buildDir
const runtimeSecs {.intdefine.} = 5
const file = "shared.nim"
const dllname = buildDir / (DynlibFormat % file)
const dllname = buildDir / (DynlibFormat % "shared_D20210524T180506")
static:
# D20210524T180826:here we compile the dependency on the fly
let nim = getCurrentCompilerExe()
let (output, exitCode) = gorgeEx(fmt"{nim} c -o:{dllname} --debuginfo --app:lib --threads:on -d:release -d:useRealtimeGC {file}")
doAssert exitCode == 0, output