diff --git a/product/ERP5Type/tests/run_unit_test b/product/ERP5Type/tests/run_unit_test
index da1a751fc49a5dd3ef06f2a9818447d23f6265da..ea77e3284303aacd02d47e17e489666605c93862 100755
--- a/product/ERP5Type/tests/run_unit_test
+++ b/product/ERP5Type/tests/run_unit_test
@@ -7,44 +7,26 @@ touch $DIRECTORY/test_output
 rm -f $DIRECTORY/test_full_output
 touch $DIRECTORY/test_full_output
 $DIRECTORY/update_cvs
-# missing : Purchase order
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testCMFActivity >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testAlarm >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testAccountingRules >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testAccounting >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testAccounting_l10n_fr_m9 >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testAmount >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testInvoice >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testInvoiceVAT >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testResource >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testInteractionWorkflow >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testImmobilisation >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testDomainTool >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testERP5Category >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testOrder >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testPackingList >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testTransformation >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testProductionOrder >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testInventory >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testInventoryAPI >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testInventoryModule >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testERP5HR >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testBase >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testBusinessTemplate >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testTrashTool >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testERP5Type >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testXMLMatrix >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testConstraint >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testCMFCategory >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testERP5Catalog >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testPreferences >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testERP5SyncML >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testPredicate >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testListBox >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testERP5Security >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testFolder >> $DIRECTORY/test_full_output 2>&1
-$DIRECTORY/ERP5Type/tests/runUnitTest.py testGis >> $DIRECTORY/test_full_output 2>&1
 
-cat $DIRECTORY/test_full_output | grep '\(^OK\|^FAILED\|^Ran\)' | sed "/^FAILED.*\|^OK.*/s/.*/\0\n/g" >> $DIRECTORY/test_output
+# Excluded tests must be separated by whitespaces
+excluded_test_list="testPurchaseOrder"
+
+test_list=`/bin/ls -1 $DIRECTORY/*/tests/test*.py`
+
+for test in $test_list
+do
+  skip_test=0
+  test_name=`basename $test .py`
+  for excluded_test_name in $excluded_test_list
+  do
+    [ $test_name = $excluded_test_name ] && skip_test=1 && break
+  done
+  [ $skip_test -eq 1 ] && continue
+  $DIRECTORY/ERP5Type/tests/runUnitTest.py $test_name \
+      >> $DIRECTORY/test_full_output 2>&1
+done
+
+cat $DIRECTORY/test_full_output | grep '\(^OK\|^FAILED\|^Ran\)' | \
+    sed "/^FAILED.*\|^OK.*/s/.*/\0\n/g" >> $DIRECTORY/test_output
 
 $DIRECTORY/sendMailToList