code: def test_multiple_duration(tmp_path):
      duration_list = [1000, 2000, 3000]
  
      out = str(tmp_path / "temp.gif")
      im_list = [
          Image.new("L", (100, 100), "#000"),
          Image.new("L", (100, 100), "#111"),
          Image.new("L", (100, 100), "#222"),
      ]
  
      # Duration as list
      im_list[0].save(
          out,
          save_all=True,
          append_images=im_list[1:],
          duration=duration_list,
      )
      with Image.open(out) as reread:
          for duration in duration_list:
              assert reread.info["duration"] == duration
              try:
                  reread.seek(reread.tell() + 1)
              except EOFError:
                  pass
  
      # Duration as tuple
      im_list[0].save(
          out,
          save_all=True,
          append_images=im_list[1:],
          duration=tuple(duration_list),
      )
      with Image.open(out) as reread:
          for duration in duration_list:
              assert reread.info["duration"] == duration
              try:
                  reread.seek(reread.tell() + 1)
              except EOFError:
                  pass
  
imports: from io import BytesIO
  import pytest
  from PIL import GifImagePlugin, Image, ImageDraw, ImagePalette, features
  from .helper import assert_image_equal, assert_image_equal_tofile, assert_image_similar, hopper, is_pypy, netpbm_available
label_desc: Use image node_id 39 for calling a global function with example usage: test_multiple_duration(tmp_path) without return types