code: def test_release_of_file_via_close(util):
      # Create a random video file.
      red = ColorClip((256, 200), color=(255, 0, 0))
      green = ColorClip((256, 200), color=(0, 255, 0))
      blue = ColorClip((256, 200), color=(0, 0, 255))
  
      red.fps = green.fps = blue.fps = 10
  
      # Repeat this so we can see no conflicts.
      for i in range(3):
          # Get the name of a temporary file we can use.
          local_video_filename = os.path.join(
              util.TMP_DIR,
              "test_release_of_file_via_close_%s.mp4"
              % int(time.time()),
          )
  
          clip = clips_array([[red, green, blue]]).with_duration(0.5)
          clip.write_videofile(local_video_filename)
  
          # Open it up with VideoFileClip.
          video = VideoFileClip(local_video_filename)
          video.close()
          clip.close()
  
          # Now remove the temporary file.
          # This would fail on Windows if the file is still locked.
  
          # This should succeed without exceptions.
          os.remove(local_video_filename)
  
      red.close()
      green.close()
      blue.close()
  
imports: import os
  import subprocess
  import time
  import numpy
  import pytest
  from moviepy.audio.AudioClip import AudioClip
  from moviepy.config import FFMPEG_BINARY
  from moviepy.video.compositing.CompositeVideoClip import clips_array
  from moviepy.video.io.ffmpeg_reader import FFMPEG_VideoReader, FFmpegInfosParser, ffmpeg_parse_infos
  from moviepy.video.io.VideoFileClip import VideoFileClip
  from moviepy.video.VideoClip import BitmapClip, ColorClip
label_desc: Use image node_id 21 for calling a global function with example usage: test_release_of_file_via_close(util) without return types