"""Execute initial readiness policy; native population timing needs engine tests.""" from policy_harness import ROOT, body, run p = ROOT/'addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c' s = '\n'.join(body(p, signature) for signature in ('static float TimeoutMilliseconds(', 'static ERR_PrepareResult State(')).replace('ERR_PrepareResult.', 'ERR_PrepareResult::') run('''#include #include enum class ERR_PrepareResult { FAILED=-1,PENDING,READY }; ''' + s + ''' int main() { using R=ERR_PrepareResult; assert(TimeoutMilliseconds()==90000); for(int requested: {1,6,12}) { for(int physical=0;physical<=requested;physical++) { for(int alive=0;alive<=physical;alive++) { assert(State(requested,physical,alive,false,false)==R::PENDING); assert(State(requested,physical,alive,true,false)==((alive==requested)?R::READY:R::PENDING)); assert(State(requested,physical,alive,true,true)==R::FAILED); assert(State(requested,physical,alive,false,true)==R::FAILED); } } assert(State(requested,requested+1,requested,true,false)==R::FAILED); } assert(State(0,0,0,true,false)==R::FAILED); assert(State(6,2,3,false,false)==R::FAILED); assert(State(6,-1,0,false,false)==R::FAILED); assert(State(6,1,-1,false,false)==R::FAILED); } ''') print('PASS: requested guard population requires complete physical conscious membership before deadline')