#include #include #include #include #include static struct traceobj trobj; static int tseq[] = { 1, 2 }; static void windTask(long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9, long a10) { traceobj_mark(&trobj, 1); traceobj_enter(&trobj); traceobj_assert(&trobj, a1 == 1); traceobj_assert(&trobj, a2 == 2); traceobj_assert(&trobj, a3 == 4); traceobj_assert(&trobj, a4 == 8); traceobj_assert(&trobj, a5 == 16); traceobj_assert(&trobj, a6 == 32); traceobj_assert(&trobj, a7 == 64); traceobj_assert(&trobj, a8 == 128); traceobj_assert(&trobj, a9 == 256); traceobj_assert(&trobj, a10 == 512); traceobj_exit(&trobj); } int main(int argc, char *const argv[]) { TASK_ID tid; traceobj_init(&trobj, argv[0], sizeof(tseq) / sizeof(int)); tid = taskSpawn("windTask", 70, 0, 0, (FUNCPTR)windTask, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512); traceobj_assert(&trobj, tid != ERROR); traceobj_mark(&trobj, 2); traceobj_join(&trobj); traceobj_verify(&trobj, tseq, sizeof(tseq) / sizeof(int)); exit(0); }