Hi, > 2. how do the test cases get the oracles (i.e. how to decide the > testing output is Pass, Fail, ...)? IMHO, it depends. Like in the dg tests ( gcc.dg) there are ways of specifying in the testcase itself as to what the test aims to check. For e.g with a /* { dg-final { scan-assembler "add a, b" } } */ we say that if the instruction add a, b is present in the assembly the test has passed. For torture tests (gcc.c-torture) usually a testcase that exits with a non-zero values is said to have failed. See http://gcc.gnu.org/wiki/HowToPrepareATestcase for more details. HTH, Pranav