Index: kernel/generic/src/console/cmd.c
===================================================================
--- kernel/generic/src/console/cmd.c	(revision 319e60e55b0b59b46de5960c99fbbfe193c9017a)
+++ kernel/generic/src/console/cmd.c	(revision e54fb21b9e320d25471c61d2ac61343404654928)
@@ -841,4 +841,5 @@
 }
 
+#ifdef CONFIG_TEST
 /** Command for printing kernel tests list.
  *
@@ -852,6 +853,7 @@
 	
 	for (test = tests; test->name != NULL; test++)
-		printf("%s\t%s\n", test->name, test->desc);
-	
+		printf("%s\t\t%s%s\n", test->name, test->desc, (test->safe ? "" : " (unsafe)"));
+	
+	printf("*\t\tRun all safe tests\n");
 	return 1;
 }
@@ -865,20 +867,31 @@
 int cmd_test(cmd_arg_t *argv)
 {
-	bool fnd = false;
 	test_t *test;
 	
-	for (test = tests; test->name != NULL; test++) {
-		if (strcmp(test->name, argv->buffer) == 0) {
-			fnd = true;
-			test->entry();
-			break;
+	if (strcmp(argv->buffer, "*") == 0) {
+		for (test = tests; test->name != NULL; test++) {
+			if (test->safe) {
+				printf("\n%s\t\t%s\n\n", test->name, test->desc);
+				test->entry();
+			}
 		}
-	}
-	
-	if (!fnd)
-		printf("Unknown test.\n");
-	
-	return 1;
-}
+	} else {
+		bool fnd = false;
+		
+		for (test = tests; test->name != NULL; test++) {
+			if (strcmp(test->name, argv->buffer) == 0) {
+				fnd = true;
+				test->entry();
+				break;
+			}
+		}
+		
+		if (!fnd)
+			printf("Unknown test.\n");
+	}
+	
+	return 1;
+}
+#endif
 
 /** @}
