diff -r c734af59ce98 -r 5b5d147c7838 kerneltest/e32test/system/t_condvar.cpp --- a/kerneltest/e32test/system/t_condvar.cpp Tue May 11 17:28:22 2010 +0300 +++ b/kerneltest/e32test/system/t_condvar.cpp Tue May 25 14:09:55 2010 +0300 @@ -56,6 +56,7 @@ #include #include #include +#include RTest test(_L("T_CONDVAR")); RMutex M1; @@ -527,6 +528,16 @@ TInt E32Main() { + TInt cpus = UserSvr::HalFunction(EHalGroupKernel, EKernelHalNumLogicalCpus, 0, 0); + if (cpus != 1) + { + test(cpus>1); + // This test will require compatibility mode (and probably other changes) + // to work on SMP - it depends on explicit scheduling order. + test.Printf(_L("T_CONDVAR skipped, does not work on SMP\n")); + return KErrNone; + } + __KHEAP_MARK; __UHEAP_MARK;