int main(int argc, char** argv) { process = new simgrid::mc::RemoteClient(getpid(), -1); process->init(); simgrid::dwarf::ExpressionContext state; state.address_space = (simgrid::mc::AddressSpace*) process; basic_test(state); for(int i=0; i!=100; ++i) { uintptr_t a = rnd_engine(); uintptr_t b = rnd_engine(); assert(eval_binary_operation(state, DW_OP_plus, a, b) == (a + b)); } for(int i=0; i!=100; ++i) { uintptr_t a = rnd_engine(); uintptr_t b = rnd_engine(); assert(eval_binary_operation(state, DW_OP_or, a, b) == (a | b)); } for(int i=0; i!=100; ++i) { uintptr_t a = rnd_engine(); uintptr_t b = rnd_engine(); assert(eval_binary_operation(state, DW_OP_and, a, b) == (a & b)); } for(int i=0; i!=100; ++i) { uintptr_t a = rnd_engine(); uintptr_t b = rnd_engine(); assert(eval_binary_operation(state, DW_OP_xor, a, b) == (a ^ b)); } test_deref(state); return 0; }
int main(int argc, char** argv) { process = new simgrid::mc::Process(getpid(), -1); s_mc_expression_state_t state; memset(&state, 0, sizeof(s_mc_expression_state_t)); state.address_space = (simgrid::mc::AddressSpace*) process; basic_test(&state); for(int i=0; i!=100; ++i) { uintptr_t a = rand(); uintptr_t b = rand(); assert(eval_binary_operation(&state, DW_OP_plus, a, b) == (a + b)); } for(int i=0; i!=100; ++i) { uintptr_t a = rand(); uintptr_t b = rand(); assert(eval_binary_operation(&state, DW_OP_or, a, b) == (a | b)); } for(int i=0; i!=100; ++i) { uintptr_t a = rand(); uintptr_t b = rand(); assert(eval_binary_operation(&state, DW_OP_and, a, b) == (a & b)); } for(int i=0; i!=100; ++i) { uintptr_t a = rand(); uintptr_t b = rand(); assert(eval_binary_operation(&state, DW_OP_xor, a, b) == (a ^ b)); } test_deref(&state); return 0; }