<commit_before>let _ =
  match Unix.fork () with
  | 0 ->
      (let fd = Unix.openfile "/bin/ls" [Unix.O_RDONLY] 0o640 in
      try Fd.fexecve fd [| "/bin/ls"; "/" |] [| |] with
      Fd.Fd_error s -> print_endline s)
  | _ ->
      (let fd = Unix.openfile "/etc/passwd" [Unix.O_RDONLY] 0o640 in
      try Fd.fexecve fd [| "/etc/passwd"; |] [| |] with
      Fd.Fd_error s -> Printf.printf "fexecve failed: %s\n" s)<commit_msg>Fix test by using labels. Still need to figure out why they are necessary.<commit_after>let run_fexecve path args env =
  let fd = Unix.openfile path [Unix.O_RDONLY] 0o640 in
  try Fd.fexecve ~fd:fd ~args:args ~env:env with
  Fd.Fd_error s -> raise (Failure s)

let _ =
  match Unix.fork () with
  | 0 -> run_fexecve "/bin/ls" [| "/bin/ls"; "/" |] [| |]
  | _ -> run_fexecve "/etc/passwd" [| "/etc/passwd" |] [| |]
{'fraction_non_alphanumeric': 0.17479191438763378, 'fraction_numerical': 0.016646848989298454, 'mean_word_length': 2.7422222222222223, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3173992', 'n_tokens_mistral': 367, 'n_tokens_neox': 354, 'n_words': 86}