ATM can only be run manually: start the port server, then each test individually.
__thread works better as thread_local for our gcc