code: def test_make_waveform_raises_if_ffmpeg_fails(tmp_path, monkeypatch):
      """
      Test that make_waveform raises an exception if ffmpeg fails,
      instead of returning a path to a non-existent or empty file.
      """
      audio = tmp_path / "test audio.wav"
      shutil.copy("test/test_files/audio_sample.wav", audio)
  
      def _failing_ffmpeg(*args, **kwargs):
          raise subprocess.CalledProcessError(1, "ffmpeg")
  
      monkeypatch.setattr(subprocess, "call", _failing_ffmpeg)
      with pytest.raises(Exception):
          gr.make_waveform(str(audio))
  
imports: import asyncio
  import json
  import os
  import shutil
  import subprocess
  import tempfile
  import time
  from pathlib import Path
  from unittest.mock import patch
  import gradio_client
  import pytest
  from gradio_client import media_data
  from gradio_client import utils
  from pydub import AudioSegment
  from starlette.testclient import TestClient
  from tqdm import tqdm
  import gradio
  from gradio import utils
label_desc: Use image node_id 6 for calling a global function with example usage: test_make_waveform_raises_if_ffmpeg_fails(tmp_path, monkeypatch) without return types