|
|
|
(*
|
|
|
|
* Copyright (c) 2017 - present Facebook, Inc.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* This source code is licensed under the BSD style license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
*)
|
|
|
|
|
|
|
|
open! IStd
|
|
|
|
|
|
|
|
let create_fake_jsonbug ?(bug_class= "bug_class") ?(kind= "kind") ?(bug_type= "bug_type")
|
|
|
|
?(qualifier= "qualifier") ?(severity= "severity") ?(visibility= "visibility") ?(line= 1)
|
|
|
|
?(column= 1) ?(procedure= "procedure") ?(procedure_id= "procedure_id")
|
|
|
|
?(procedure_start_line= 1) ?(file= "file/at/a/certain/path.java") ?(bug_trace= [])
|
|
|
|
?(key= "1234") ?(hash= "1") ?(dotty= None) ?(infer_source_loc= None)
|
|
|
|
?(linters_def_file= Some "file/at/certain/path.al") ?doc_url () : Jsonbug_t.jsonbug =
|
|
|
|
{ bug_class
|
|
|
|
; kind
|
|
|
|
; bug_type
|
|
|
|
; qualifier
|
|
|
|
; severity
|
|
|
|
; visibility
|
|
|
|
; line
|
|
|
|
; column
|
|
|
|
; procedure
|
|
|
|
; procedure_id
|
|
|
|
; procedure_start_line
|
|
|
|
; file
|
|
|
|
; bug_trace
|
|
|
|
; key
|
|
|
|
; hash
|
|
|
|
; dotty
|
|
|
|
; infer_source_loc
|
|
|
|
; bug_type_hum= kind
|
|
|
|
; linters_def_file
|
|
|
|
; doc_url
|
|
|
|
; traceview_id= None
|
|
|
|
; censored_reason= ""
|
|
|
|
; access= None }
|
|
|
|
|
|
|
|
|
|
|
|
let pp_diff_of_list ~pp group_name fmt (expected, actual) =
|
|
|
|
Format.fprintf fmt "[%s]: Expected: [%a] Found: [%a]" group_name (Pp.comma_seq pp) expected
|
|
|
|
(Pp.comma_seq pp) actual
|
|
|
|
|
|
|
|
|
|
|
|
let pp_diff_of_string_list = pp_diff_of_list ~pp:Format.pp_print_string
|
|
|
|
|
|
|
|
let pp_diff_of_int_list = pp_diff_of_list ~pp:Format.pp_print_int
|
|
|
|
|
|
|
|
(* Sort hashes to make things easier to compare *)
|
|
|
|
let sorted_hashes_of_issues issues =
|
|
|
|
let hash i = i.Jsonbug_t.hash in
|
|
|
|
List.sort ~cmp:String.compare (List.rev_map ~f:hash issues)
|