code: def test_corrupted_videos():
      corrupted_videos = [
          (
              os.path.join(
                  corrupted_video_data_root, "moov_atom_not_found.mp4"
              ),
              "Failed to open video file",
          ),
          (
              os.path.join(corrupted_video_data_root, "audio_only.mp4"),
              "Could not find a valid video stream in a file",
          ),
      ]
      readers = [
          lambda files: fn.readers.video(
              device="gpu", filenames=files, sequence_length=3
          ),
          lambda files: fn.experimental.readers.video(
              device="gpu", filenames=files, sequence_length=3
          ),
          lambda files: fn.experimental.readers.video(
              device="cpu", filenames=files, sequence_length=3
          ),
      ]
      for reader in readers:
          for wrong_video, msg in corrupted_videos:
              yield check_corrupted_videos, reader, wrong_video, msg
  
imports: import os
  import math
  from test_utils import get_gpu_num
  from test_utils import get_dali_extra_path
  import nvidia.dali.ops
  import nvidia.dali.types
  from nvidia.dali.pipeline import Pipeline, pipeline_def
  import nvidia.dali.fn
  import numpy
  import tempfile
  from test_utils import check_output_pattern
  from nose_utils import assert_raises, raises
label_desc: Use image node_id 23 for calling a global function with example usage: test_corrupted_videos() without return types