Make tests fail loudly
diff --git a/tests/test_arm.c b/tests/test_arm.c
index 1c2fdf3..f368a88 100644
--- a/tests/test_arm.c
+++ b/tests/test_arm.c
@@ -302,7 +302,7 @@
 		cs_err err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		cs_option(handle, CS_OPT_DETAIL, CS_OPT_ON);
@@ -331,6 +331,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex("Code:", platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_arm64.c b/tests/test_arm64.c
index a4bcc18..e28d1f2 100644
--- a/tests/test_arm64.c
+++ b/tests/test_arm64.c
@@ -196,7 +196,7 @@
 		cs_err err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		cs_option(handle, CS_OPT_DETAIL, CS_OPT_ON);
@@ -223,6 +223,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex("Code: ", platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_basic.c b/tests/test_basic.c
index 92eb28c..39ae1cd 100644
--- a/tests/test_basic.c
+++ b/tests/test_basic.c
@@ -239,7 +239,7 @@
 		err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		if (platforms[i].opt_type)
@@ -267,6 +267,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex(platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_customized_mnem.c b/tests/test_customized_mnem.c
index 6ad8200..4a56bf1 100644
--- a/tests/test_customized_mnem.c
+++ b/tests/test_customized_mnem.c
@@ -35,8 +35,10 @@
 		printf("\t%s\t%s\n", insn[0].mnemonic, insn[0].op_str); 
 		// Free memory allocated by cs_disasm()
 		cs_free(insn, count);
-	} else
+	} else {
 		printf("ERROR: Failed to disasm given code!\n");
+		abort();
+	}
 }
 
 static void test()
@@ -51,7 +53,7 @@
 	err = cs_open(CS_ARCH_X86, CS_MODE_32, &handle);
 	if (err) {
 		printf("Failed on cs_open() with error returned: %u\n", err);
-		return;
+		abort();
 	}
 
 	// 1. Print out the instruction in default setup.
diff --git a/tests/test_detail.c b/tests/test_detail.c
index 577da97..9e085ad 100644
--- a/tests/test_detail.c
+++ b/tests/test_detail.c
@@ -231,7 +231,7 @@
 		err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		if (platforms[i].opt_type)
@@ -293,6 +293,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex(platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_iter.c b/tests/test_iter.c
index 53b86b2..fb1695a 100644
--- a/tests/test_iter.c
+++ b/tests/test_iter.c
@@ -193,7 +193,7 @@
 		err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		if (platforms[i].opt_type)
diff --git a/tests/test_mips.c b/tests/test_mips.c
index 923d810..6cb751f 100644
--- a/tests/test_mips.c
+++ b/tests/test_mips.c
@@ -123,7 +123,7 @@
 		cs_err err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		cs_option(handle, CS_OPT_DETAIL, CS_OPT_ON);
@@ -150,6 +150,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex("Code:", platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_ppc.c b/tests/test_ppc.c
index b841881..a1c8800 100644
--- a/tests/test_ppc.c
+++ b/tests/test_ppc.c
@@ -142,7 +142,7 @@
 		cs_err err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		cs_option(handle, CS_OPT_DETAIL, CS_OPT_ON);
@@ -169,6 +169,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex("Code:", platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_skipdata.c b/tests/test_skipdata.c
index 41ad60c..26cf294 100644
--- a/tests/test_skipdata.c
+++ b/tests/test_skipdata.c
@@ -101,7 +101,7 @@
 		err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		if (platforms[i].opt_type)
@@ -133,6 +133,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex(platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_sparc.c b/tests/test_sparc.c
index b010734..8417cb9 100644
--- a/tests/test_sparc.c
+++ b/tests/test_sparc.c
@@ -108,7 +108,7 @@
 		cs_err err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		cs_option(handle, CS_OPT_DETAIL, CS_OPT_ON);
@@ -135,6 +135,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex("Code:", platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_systemz.c b/tests/test_systemz.c
index b69cee9..2b8ea3b 100644
--- a/tests/test_systemz.c
+++ b/tests/test_systemz.c
@@ -101,7 +101,7 @@
 		cs_err err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		cs_option(handle, CS_OPT_DETAIL, CS_OPT_ON);
@@ -128,6 +128,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex("Code:", platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_x86.c b/tests/test_x86.c
index ae71334..a1e1f02 100644
--- a/tests/test_x86.c
+++ b/tests/test_x86.c
@@ -363,7 +363,7 @@
 		cs_err err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		if (platforms[i].opt_type)
@@ -393,6 +393,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex("Code:", platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");
diff --git a/tests/test_xcore.c b/tests/test_xcore.c
index 460a105..778e152 100644
--- a/tests/test_xcore.c
+++ b/tests/test_xcore.c
@@ -96,7 +96,7 @@
 		cs_err err = cs_open(platforms[i].arch, platforms[i].mode, &handle);
 		if (err) {
 			printf("Failed on cs_open() with error returned: %u\n", err);
-			continue;
+			abort();
 		}
 
 		cs_option(handle, CS_OPT_DETAIL, CS_OPT_ON);
@@ -123,6 +123,7 @@
 			printf("Platform: %s\n", platforms[i].comment);
 			print_string_hex("Code:", platforms[i].code, platforms[i].size);
 			printf("ERROR: Failed to disasm given code!\n");
+			abort();
 		}
 
 		printf("\n");