39 lines
909 B
Plaintext
39 lines
909 B
Plaintext
from stdint import *
|
|
import win32.win32console
|
|
import t, c
|
|
from t import CInt, CExport
|
|
import memhub
|
|
import stdlib
|
|
import sys
|
|
import os
|
|
import os._win32
|
|
import os._posix
|
|
import os.path
|
|
import shutil
|
|
import subprocess
|
|
import syslibtest_impl
|
|
|
|
|
|
# MBuddy arena size: 1 MB.
|
|
define ARENA_SIZE = 1048576
|
|
|
|
|
|
def main() -> CInt | CExport:
|
|
win32.win32console.SetConsoleCP(65001)
|
|
win32.win32console.SetConsoleOutputCP(65001)
|
|
|
|
# Initialize the global MBuddy allocator.
|
|
arena: bytes = stdlib.malloc(ARENA_SIZE)
|
|
mbuddy_obj: memhub.MemBuddy* = memhub.MemBuddy(arena, ARENA_SIZE)
|
|
|
|
# Assign the MBuddy object to every module that allocates.
|
|
sys._mbuddy = mbuddy_obj
|
|
os._mbuddy = mbuddy_obj
|
|
os._win32._mbuddy = mbuddy_obj
|
|
os._posix._mbuddy = mbuddy_obj
|
|
os.path._mbuddy = mbuddy_obj
|
|
shutil._mbuddy = mbuddy_obj
|
|
subprocess._mbuddy = mbuddy_obj
|
|
|
|
return syslibtest_impl.run()
|