diff --git a/common/test/keyboards/invalid/README.md b/common/test/keyboards/invalid/README.md
index 897d7d6622..7cd5ffc5ab 100644
--- a/common/test/keyboards/invalid/README.md
+++ b/common/test/keyboards/invalid/README.md
@@ -1,9 +1,9 @@
# **Tests for kmcompxtest()**
-This folder contains several kmn-files that are used for testing resulting Errorcodes.
+This folder contains several kmn-files that are used for testing resulting error codes.
-Most of these tests are copied from balochi_phonetic and contain alterations of the data to produce (at least) 1 Error.
+Most of these tests are copied from balochi_phonetic and contain alterations of the data to produce (at least) 1 error.
@@ -20,24 +20,27 @@ The naming convention of the files is as follows:
* After the second underscore all combination of char can be used.
-* The 4 characters following CERR_ correspond to the last 4 digits of the Error-Code which is expected to be produced by this file.
+* The 4 characters following CERR_ correspond to the last 4 digits of the error-Code which is expected to be produced by this file.
- ( e.g. CERR_404D_balochi_phonetic.kmn should produce Error 0x0000404D).
+ ( e.g. CERR_404D_balochi_phonetic.kmn should produce error 0x0000404D).
---
-While running kmcompxtest extracts the 4 chars from the Filename and compares them to the actual Error found.
+While running, kmcompxtest extracts those 4 characters from the Filename (e.g. 404D for CERR_404D_balochi_phonetic) and compares those to the actual error found.
-* If they correspond the test will be marked as OK. (Code 0)
+* If these 4 characters correspond to the actual error given, the test will be marked as OK. (Code 0)
+
+* If these 4 characters signifiy an error but **no error** does occur, the test will be marked as FAILED (Code 1)
+
+* If these 4 characters signifiy an error but this **specific error** does not occur, the test will be marked as FAILED (Code 4)
+
+* If these 4 characters signifiy an error number that is **not correct**, the test will be marked as FAILED (Code 5)
+
+* If more than 1 error is produced, only the error coded in the Filename will be detected
-* If the file is supposed to produce an Error and does not the test will be marked as FAILED (Code 1)
-
-* If the filename is not correct the test will be marked as FAILED (Code 1)
-
-* If more than 1 Error is produced only the Error coded in the Filename will be detected
### Tests are available for the following CERR_:
diff --git a/core/tests/unit/kmx/kmx_imsample.kmx b/core/tests/unit/kmx/kmx_imsample.kmx
deleted file mode 100644
index 754c0985ae..0000000000
Binary files a/core/tests/unit/kmx/kmx_imsample.kmx and /dev/null differ
diff --git a/core/tests/unit/kmx/kmx_key_list.kmx b/core/tests/unit/kmx/kmx_key_list.kmx
deleted file mode 100644
index efb6540fce..0000000000
Binary files a/core/tests/unit/kmx/kmx_key_list.kmx and /dev/null differ
diff --git a/developer/src/kmcmplib/tests/kmcompxtest.cpp b/developer/src/kmcmplib/tests/kmcompxtest.cpp
index 79d2dbc4e7..c836a73045 100644
--- a/developer/src/kmcmplib/tests/kmcompxtest.cpp
+++ b/developer/src/kmcmplib/tests/kmcompxtest.cpp
@@ -48,7 +48,7 @@ int main(int argc, char *argv[])
if (kmcmp_CompileKeyboardFile(kmn_file, kmx_file, FALSE, FALSE, TRUE, msgproc)) {
char* testname = strrchr( (char*) kmn_file, '\\') + 1;
- if (strncmp(testname, pfirst5, 5) == 0) return 1; //no Error found + CERR_ in Name
+ if (strncmp(testname, pfirst5, 5) == 0) return 1; // exit code 1: CERR_ in Name + no Error found
// TODO: compare argv[2] to ../build/argv[2]
FILE* fp1 = fopen(argv[2], "rb");
@@ -56,25 +56,13 @@ int main(int argc, char *argv[])
strcpy(fname, argv[2]);
char* p = strrchr(fname, '\\');
if (!p) p = fname;
- strcpy(p, "\\..\\build\\");
+ strcpy(p, "\\..\\build\\");
char* q = strrchr(argv[2], '\\');
if (!q) q = argv[2]; else q++;
strcat(p, q);
-
-
-
-
-/*
-
- // TODO: compare kmx_file to ../build/kmx_file
- FILE* fp1 = fopen(kmx_file, "rb");
- char fname[260];
- strcpy(fname, kmx_file);
- kmx_file[strlen(kmx_file)-1] = 'x'; // .kmn->.kmx
- */
FILE* fp2 = fopen(fname, "rb");
- if (!fp2) return 0; //assume pass if no reference kmx file
+ if (!fp2) return 0; // exit code 0: assume pass if no reference kmx file in build-folder
fseek(fp1, 0, SEEK_END);
auto sz1 = ftell(fp1);
@@ -82,15 +70,16 @@ int main(int argc, char *argv[])
fseek(fp2, 0, SEEK_END);
auto sz2 = ftell(fp2);
fseek(fp2, 0, SEEK_SET);
- if (sz1 != sz2) return 2;
+ if (sz1 != sz2) return 2; // exit code 2: size of kmx-file in build differs from size of kmx-file in source folder
char* buf1 = new char[sz1];
char* buf2 = new char[sz1];
fread(buf1, 1, sz1, fp1);
fread(buf2, 1, sz1, fp2);
- return memcmp(buf1, buf2, sz1) ? 3 : 0;
+ return memcmp(buf1, buf2, sz1) ? 3 : 0; // exit code 3: when contents of kmx-file in build differs from contents of kmx-file in source folder
+ // exit code 0: when contents of kmx-file in build and source folder are the same
}
- else /*if Errors found check number (e.g. CERR_4061_balochi_phonetic.kmn should produce Error 4061)*/
+ else /*if Errors found: check number (e.g. CERR_4061_balochi_phonetic.kmn should produce Error 4061)*/
{
int error_val = 0;
char* testname = strrchr( (char*) kmn_file, '\\') + 1;
@@ -104,12 +93,12 @@ int main(int argc, char *argv[])
// check if error_val is in Array of Errors; if it is found return 0 (it's not an error)
for (int i = 0; i < error_vec.size() ; i++) {
if (error_vec[i] == error_val)
- return 0;
+ return 0; // exit code 0: CERR_ in Name + Error (specified in CERR_Name) IS found
}
- return 4;
+ return 4; // exit code 4: CERR_ in Name + Error (specified in CERR_Name) is NOT found
}
else
- return 1; // no CERR_ in Name => CompileKeyboardFile failed
+ return 5; // exit code 5: no correct CERR_ in Name + CompileKeyboardFile failed
}
- return 1;
+ return 6; // exit code 6: else
}