Skip to content
Izaak Beekman edited this page Mar 16, 2015 · 14 revisions

Test coverage

The code coverage information on this page was automatically generated by the FoBiS.py build tool and gcov for the master branch of json-fortran. This same information is sent to coveralls and produces the badge shown on the README.md.

Coverage analysis of json_module.F90

Metrics Analysis
Number of executable lines 1313
Number of executed lines 1017 77%
Number of unexecuted lines 296 23%
Number of average hits per executed lines 368443
Number of procedures 161
Number of executed procedures 115 71%
Number of unexecuted procedures 46 29%
Number of average hits per executed procedures 11737

lines procedures

Unexecuted procedures

Many of the procedures below are private specific procedures only accessible through a public overloaded interface, so to test them the generic procedure must be called with the correct arguments to resolve to an un-exercised specific procedure.

  • subroutine array_callback_func
  • subroutine json_info
  • subroutine json_file_get_integer
  • subroutine json_file_get_double
  • subroutine wrap_json_file_get_double_vec
  • subroutine json_file_get_logical
  • subroutine json_file_get_logical_vec
  • subroutine wrap_json_file_get_logical_vec
  • subroutine json_file_update_integer
  • subroutine json_file_update_logical
  • subroutine json_file_update_real
  • subroutine json_file_update_string
  • subroutine json_file_update_string_name_ascii
  • subroutine json_file_update_string_val_ascii
  • subroutine wrap_json_update_integer
  • subroutine json_update_string_name_ascii
  • subroutine json_update_string_val_ascii
  • subroutine json_value_add_string_val_ascii
  • subroutine json_value_add_string_vec_name_ascii
  • subroutine json_value_add_string_vec_val_ascii
  • subroutine wrap_json_value_get_by_name_chars
  • subroutine wrap_json_get_by_path
  • subroutine wrap_json_get_integer_with_path
  • subroutine json_get_integer_vec
  • subroutine get_int_from_array
  • subroutine wrap_json_get_integer_vec_with_path
  • subroutine wrap_json_get_double_with_path
  • subroutine json_get_double_vec
  • subroutine get_double_from_array
  • subroutine wrap_json_get_double_vec_with_path
  • subroutine json_get_logical_vec
  • subroutine get_logical_from_array
  • subroutine json_get_logical_vec_with_path
  • subroutine get_logical_from_array
  • subroutine wrap_json_get_logical_vec_with_path
  • subroutine wrap_json_get_string_with_path
  • subroutine json_get_string_vec
  • subroutine get_chars_from_array
  • subroutine wrap_json_get_array_with_path
  • subroutine json_value_create_logical
  • subroutine json_value_create_integer
  • subroutine json_value_create_double
  • subroutine json_value_create_string
  • subroutine json_value_create_null
  • subroutine json_value_create_object
  • subroutine json_value_create_array

Un-exercised optional arguments

  • n_children in json_info
  • destroy in json_value_remove
  • in json_value_add_string_vec
    • trim_str
    • adjustl_str

Executed procedures

  • subroutine destroy_json_data: tested 389278 times
  • subroutine json_file_destroy: tested 11 times
  • subroutine json_file_move_pointer: tested 1 times
  • subroutine json_file_load: tested 11 times
  • subroutine json_file_load_from_string: tested 1 times
  • subroutine wrap_json_file_load_from_string: tested 1 times
  • subroutine json_file_print_to_console: tested 5 times
  • subroutine json_file_print_1: tested 4 times
  • subroutine json_file_print_2: tested 2 times
  • subroutine json_file_print_to_string: tested 3 times
  • subroutine json_file_variable_info: tested 1 times
  • subroutine wrap_json_file_variable_info: tested 1 times
  • subroutine json_file_get_object: tested 1 times
  • subroutine wrap_json_file_get_object: tested 5 times
  • subroutine wrap_json_file_get_integer: tested 7 times
  • subroutine json_file_get_integer_vec: tested 1 times
  • subroutine wrap_json_file_get_integer_vec: tested 1 times
  • subroutine wrap_json_file_get_double: tested 3 times
  • subroutine json_file_get_double_vec: tested 4 times
  • subroutine wrap_json_file_get_logical: tested 1 times
  • subroutine json_file_get_string: tested 23 times
  • subroutine wrap_json_file_get_string: tested 19 times
  • subroutine json_file_get_string_vec: tested 1 times
  • subroutine wrap_json_file_get_string_vec: tested 1 times
  • subroutine json_initialize: tested 29 times
  • subroutine json_clear_exceptions: tested 37 times
  • subroutine json_throw_exception: tested 14 times
  • subroutine wrap_json_throw_exception: tested 3 times
  • subroutine json_check_for_errors: tested 3 times
  • subroutine json_value_create: tested 194642 times
  • subroutine json_value_remove: tested 4 times
  • subroutine json_value_remove_if_present: tested 1 times
  • subroutine wrap_json_value_remove_if_present: tested 1 times
  • subroutine wrap_json_file_update_integer: tested 1 times
  • subroutine wrap_json_file_update_logical: tested 2 times
  • subroutine wrap_json_file_update_real: tested 2 times
  • subroutine wrap_json_file_update_string: tested 2 times
  • subroutine json_update_logical: tested 3 times
  • subroutine wrap_json_update_logical: tested 1 times
  • subroutine json_update_double: tested 3 times
  • subroutine wrap_json_update_double: tested 1 times
  • subroutine json_update_integer: tested 1 times
  • subroutine json_update_string: tested 3 times
  • subroutine wrap_json_update_string: tested 1 times
  • subroutine json_value_add_member: tested 194609 times
  • subroutine json_value_add_double: tested 25 times
  • subroutine wrap_json_value_add_double: tested 24 times
  • subroutine json_value_add_double_vec: tested 6 times
  • subroutine wrap_json_value_add_double_vec: tested 6 times
  • subroutine json_value_add_integer: tested 116 times
  • subroutine wrap_json_value_add_integer: tested 16 times
  • subroutine json_value_add_integer_vec: tested 3 times
  • subroutine wrap_json_value_add_integer_vec: tested 3 times
  • subroutine json_value_add_logical: tested 9 times
  • subroutine wrap_json_value_add_logical: tested 8 times
  • subroutine json_value_add_logical_vec: tested 2 times
  • subroutine wrap_json_value_add_logical_vec: tested 2 times
  • subroutine json_value_add_string: tested 34 times
  • subroutine wrap_json_value_add_string: tested 24 times
  • subroutine json_value_add_string_name_ascii: tested 9 times
  • subroutine escape_string: tested 34 times
  • subroutine json_value_add_string_vec: tested 3 times
  • subroutine wrap_json_value_add_string_vec: tested 3 times
  • subroutine json_value_get_by_index: tested 30 times
  • subroutine json_value_get_by_name_chars: tested 99 times
  • subroutine json_value_to_string: tested 4 times
  • subroutine json_print_1: tested 7 times
  • subroutine json_print_2: tested 2 times
  • subroutine write_it: tested 1222 times
  • subroutine json_get_by_path: tested 59 times
  • subroutine json_get_integer: tested 8 times
  • subroutine json_get_integer_with_path: tested 7 times
  • subroutine json_get_integer_vec_with_path: tested 1 times
  • subroutine get_int_from_array: tested 2 times
  • subroutine json_get_double: tested 15 times
  • subroutine json_get_double_with_path: tested 3 times
  • subroutine json_get_double_vec_with_path: tested 4 times
  • subroutine get_double_from_array: tested 12 times
  • subroutine json_get_logical: tested 2 times
  • subroutine json_get_logical_with_path: tested 2 times
  • subroutine wrap_json_get_logical_with_path: tested 1 times
  • subroutine json_get_string: tested 32 times
  • subroutine json_get_string_with_path: tested 23 times
  • subroutine json_get_string_vec_with_path: tested 2 times
  • subroutine get_chars_from_array: tested 10 times
  • subroutine wrap_json_get_string_vec_with_path: tested 1 times
  • subroutine json_get_array: tested 7 times
  • subroutine json_get_array_with_path: tested 7 times
  • subroutine json_parse_file: tested 11 times
  • subroutine json_parse_string: tested 5 times
  • subroutine wrap_json_parse_string: tested 3 times
  • subroutine annotate_invalid_json: tested 3 times
  • subroutine get_current_line_from_file: tested 2 times
  • subroutine wrap_json_value_create_logical: tested 1 times
  • subroutine wrap_json_value_create_integer: tested 1 times
  • subroutine wrap_json_value_create_double: tested 1 times
  • subroutine wrap_json_value_create_string: tested 1 times
  • subroutine wrap_json_value_create_null: tested 1 times
  • subroutine wrap_json_value_create_object: tested 20 times
  • subroutine wrap_json_value_create_array: tested 2 times
  • subroutine to_logical: tested 4996 times
  • subroutine to_integer: tested 25142 times
  • subroutine to_double: tested 10014 times
  • subroutine to_string: tested 124524 times
  • subroutine to_null: tested 5 times
  • subroutine to_object: tested 19965 times
  • subroutine to_array: tested 9998 times
  • subroutine parse_string: tested 264081 times
  • subroutine parse_for_chars: tested 4988 times
  • subroutine parse_number: tested 35010 times
  • subroutine push_char: tested 70024 times
  • subroutine integer_to_string: tested 270 times
  • subroutine real_to_string: tested 42 times
  • subroutine compact_real_string: tested 42 times
  • subroutine json_print_error_message: tested 3 times
Clone this wiki locally