Generation -- Test Generation and Lightweight Checking for Multi-core Memory Consistency