code: def save_dict():
      """
      Save the log scraping results into logs denoted by g_output_filename_failed_tests and
      g_output_filename_passed_tests.
  
      :return: none
      """
  
      global g_test_root_dir
      global g_output_filename_failed_tests
      global g_output_filename_passed_tests
      global g_output_pickle_filename
      global g_failed_test_info_dict
  
      # some build can fail really early that no buid id info is stored in the console text.
      if "2.build_id" not in g_failed_test_info_dict.keys():
          g_failed_test_info_dict["2.build_id"] = "unknown"
  
      build_id = g_failed_test_info_dict["2.build_id"]
  
      g_output_filename_failed_tests = (
          g_output_filename_failed_tests
          + "_build_"
          + build_id
          + "_failed_tests.log"
      )
      g_output_filename_passed_tests = (
          g_output_filename_passed_tests
          + "_build_"
          + build_id
          + "_passed_tests.log"
      )
      g_output_pickle_filename = (
          g_output_pickle_filename + "_build_" + build_id + ".pickle"
      )
  
      allKeys = sorted(g_failed_test_info_dict.keys())
  
      # write out the jenkins job info into log files.
      with open(g_output_pickle_filename, "wb") as test_file:
          pickle.dump(g_failed_test_info_dict, test_file)
  
      # write out the failure report as text into a text file
      text_file_failed_tests = open(g_output_filename_failed_tests, "w")
      text_file_passed_tests = None
      allKeys = sorted(g_failed_test_info_dict.keys())
      write_passed_tests = False
  
      if "passed_tests_info *********" in allKeys:
          text_file_passed_tests = open(
              g_output_filename_passed_tests, "w"
          )
          write_passed_tests = True
  
      for keyName in allKeys:
          val = g_failed_test_info_dict[keyName]
          if isinstance(val, list):  # writing one of the job lists
              if len(val) == 3:  # it is a message for a test
                  if keyName == "failed_tests_info *********":
                      write_test_java_message(
                          keyName, val, text_file_failed_tests
                      )
  
                  if keyName == "passed_tests_info *********":
                      write_test_java_message(
                          keyName, val, text_file_passed_tests
                      )
              elif len(val) == 2:  # it is a general bad java message
                  write_java_message(
                      keyName, val, text_file_failed_tests
                  )
                  if write_passed_tests:
                      write_java_message(
                          keyName, val, text_file_passed_tests
                      )
          else:
              write_general_build_message(
                  keyName, val, text_file_failed_tests
              )
              if write_passed_tests:
                  write_general_build_message(
                      keyName, val, text_file_passed_tests
                  )
  
      text_file_failed_tests.close()
      if write_passed_tests:
          text_file_passed_tests.close()
  
imports: import sys
  import os
  import json
  import pickle
  import copy
  import subprocess
label_desc: Use image node_id 18 for calling a global function with example usage: save_dict() without return types