f_range_t found_object = f_range_t_initialize;
f_ranges_t found = f_ranges_t_initialize;
uint8_t quote = 0;
+ f_number_unsigned_t line = 0;
f_number_unsigneds_t delimits = f_number_unsigneds_t_initialize;
f_string_dynamic_t result_string = f_string_dynamic_t_initialize;
f_string_dynamic_t delimit_string = f_string_dynamic_t_initialize;
f_status_t status_object = F_okay;
- for (;;) {
+ for (;; ++line) {
max = 255;
max = 255;
result = getline(&line_content, &max, file_contents);
+
+ if (!result) {
+ printf("[ -------> ] --- [00] Failure with line (%lu) '%s', result = %zd, for loading file='./data/tests/%s/%s-%s.txt'.\n", line, line_content, result, "strings", "basic", "all_read");
+ }
+
assert_return_code(result, 0);
// The newline is copied by getline(), and so remove that newline before comparing.
fl_fss_basic_object_read(buffer_string, &range, &found_object, "e, &delimits, &state);
+ if (!(state.status == F_fss_found_object || state.status == F_fss_found_object_content_not)) {
+ printf("[ -------> ] --- [01] Failure with line (%lu) '%s', status = %u, expecting %u or %u.\n", line, line_content, state.status, F_fss_found_object, F_fss_found_object_content_not);
+ }
+
assert_true(state.status == F_fss_found_object || state.status == F_fss_found_object_content_not);
status_object = state.status;
fl_fss_basic_content_read(buffer_string, &range, &found, &delimits, &state);
if (status_object == F_fss_found_object) {
+ if (state.status != F_fss_found_content) {
+ printf("[ -------> ] --- [02] Failure with line (%lu) '%s', status = %u, expecting %u.\n", line, line_content, state.status, F_fss_found_content);
+ }
+
assert_int_equal(state.status, F_fss_found_content);
}
else {
+ if (state.status != F_data_not) {
+ printf("[ -------> ] --- [03] Failure with line (%lu) '%s', status = %u, expecting %u.\n", line, line_content, state.status, F_data_not);
+ }
+
assert_int_equal(state.status, F_data_not);
}
if (state.status == F_fss_found_content) {
+ if (!found.used) {
+ printf("[ -------> ] --- [04] Failure with line (%lu) '%s', found.used = %lu, expecting found.used <> 0.\n", line, line_content, found.used);
+ }
+
assert_true(found.used);
{
const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string);
+
+ if (status != F_okay) {
+ printf("[ -------> ] --- [05] Failure with line (%lu) '%s', status = %u, expecting %u.\n", line, line_content, state.status, F_okay);
+ }
+
assert_int_equal(status, F_okay);
}
state.status = F_none;
f_fss_apply_delimit(delimits, &delimit_string, &state);
+
+ if (state.status != F_okay) {
+ printf("[ -------> ] --- [06] Failure with line (%lu) '%s', status = %u, expecting %u.\n", line, line_content, state.status, F_okay);
+ }
+
assert_int_equal(state.status, F_okay);
{
const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found.array[0], &result_string);
+
+ if (!(status == F_okay || status == F_data_not_eos)) {
+ printf("[ -------> ] --- [07] Failure with line (%lu) '%s', status = %u, expecting %u or %u.\n", line, line_content, state.status, F_okay, F_data_not_eos);
+ }
+
assert_true(status == F_okay || status == F_data_not_eos);
}
{
const f_status_t status = f_string_dynamic_terminate_after(&result_string);
+
+ if (status != F_okay) {
+ printf("[ -------> ] --- [08] Failure with line (%lu) '%s', status = %u, expecting %u.\n", line, line_content, state.status, F_okay);
+ }
+
assert_int_equal(status, F_okay);
}
+ if (state.status != F_okay) {
+ printf("[ -------> ] --- [09] Failure with line (%lu) '%s', '%s' does not match '%s', line_content.\n", line, line_content, result_string.string, line_content);
+ }
+
assert_string_equal(result_string.string, line_content);
}
else {
+ if (found.used) {
+ printf("[ -------> ] --- [10] Failure with line (%lu) '%s', found.used = %lu, expecting found.used == 0.\n", line, line_content, found.used);
+ }
+
assert_true(!found.used);
}
f_range_t found_object = f_range_t_initialize;
f_ranges_t found = f_ranges_t_initialize;
uint8_t quote = 0;
+ f_number_unsigned_t line = 0;
f_number_unsigneds_t delimits = f_number_unsigneds_t_initialize;
f_string_dynamic_t result_string = f_string_dynamic_t_initialize;
f_string_dynamic_t delimit_string = f_string_dynamic_t_initialize;
f_status_t status_object = F_okay;
- for (;;) {
+ for (;; ++line) {
max = 255;
result = getline(&line_matches, &max, file_matches);
- assert_return_code(result, 0);
+ if (result == -1) break;
matches = atoi(line_matches);
// When matches is 2, then this matches both object and content.
if (matches == 2) {
if (!(state.status == F_fss_found_object)) {
- printf("[ -------> ] --- [00] Failure with line '%s', matches=%d, status=%u.\n", line_content, matches, state.status);
+ printf("[ -------> ] --- [00] Failure with line (%lu) '%s', matches=%d, status=%u, expected %u.\n", line, line_content, matches, state.status, F_fss_found_object);
}
assert_true(state.status == F_fss_found_object);
// When matches is 1, then this matches only object.
else {
if (!(state.status == F_fss_found_object_content_not)) {
- printf("[ -------> ] --- [02] Failure with line '%s', matches=%d, status=%u.\n", line_content, matches, state.status);
+ printf("[ -------> ] --- [01] Failure with line (%lu) '%s', matches=%d, status=%u, expected %u.\n", line, line_content, matches, state.status, F_fss_found_object_content_not);
}
assert_true(state.status == F_fss_found_object_content_not);
fl_fss_basic_content_read(buffer_string, &range, &found, &delimits, &state);
if (status_object == F_fss_found_object) {
- if (!(status_object == F_fss_found_object)) {
- printf("[ -------> ] --- [02] Failure with line '%s'.\n", line_content);
+ if (status_object != F_fss_found_object) {
+ printf("[ -------> ] --- [02] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_fss_found_object);
}
assert_int_equal(state.status, F_fss_found_content);
}
else {
if (state.status != F_data_not) {
- printf("[ -------> ] --- [03] Failure with line '%s'.\n", line_content);
+ printf("[ -------> ] --- [03] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_data_not);
}
assert_int_equal(state.status, F_data_not);
if (matches == 2) {
if (state.status == F_fss_found_content) {
if (!found.used) {
- printf("[ -------> ] --- [04] Failure with line '%s'.\n", line_content);
+ printf("[ -------> ] --- [04] Failure with line (%lu) '%s', expected found.used <> 0.\n", line, line_content);
}
assert_true(found.used);
const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string);
if (status != F_okay) {
- printf("[ -------> ] --- [05] Failure with line '%s'.\n", line_content);
+ printf("[ -------> ] --- [05] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_okay);
}
assert_int_equal(status, F_okay);
const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found.array[0], &result_string);
if (!(status == F_okay || status == F_data_not_eos)) {
- printf("[ -------> ] --- [06] Failure with line '%s', status=%u.\n", line_content, status);
+ printf("[ -------> ] --- [06] Failure with line (%lu) '%s', status=%u, expected %u or %#0x.\n", line, line_content, status, F_okay, F_data_not_eos);
}
assert_true(status == F_okay || status == F_data_not_eos);
const f_status_t status = f_string_dynamic_terminate_after(&result_string);
if (status != F_okay) {
- printf("[ -------> ] --- [07] Failure with line '%s'.\n", line_content);
+ printf("[ -------> ] --- [07] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_okay);
}
assert_int_equal(status, F_okay);
}
if (strcmp((const char *) result_string.string, (const char *) line_content)) {
- printf("[ -------> ] --- [08] Failure with line '%s'; got '%s', expected '%s'.\n", line_content, result_string.string, line_content);
+ printf("[ -------> ] --- [08] Failure with line (%lu) '%s', got '%s', expected '%s'.\n", line, line_content, result_string.string, line_content);
}
assert_string_equal(result_string.string, line_content);
}
else {
if (found.used) {
- printf("[ -------> ] --- [09] Failure with line '%s'.\n", line_content);
+ printf("[ -------> ] --- [09] Failure with line (%lu) '%s', expected found.used == 0.\n", line, line_content);
}
assert_true(!found.used);