code: def test_draw_boxes():
      img = torch.full((3, 100, 100), 255, dtype=torch.uint8)
      img_cp = img.clone()
      boxes_cp = boxes.clone()
      labels = ["a", "b", "c", "d"]
      colors = ["green", "#FF00FF", (0, 255, 0), "red"]
      result = utils.draw_bounding_boxes(
          img, boxes, labels=labels, colors=colors, fill=True
      )
  
      path = os.path.join(
          os.path.dirname(os.path.abspath(__file__)),
          "assets",
          "fakedata",
          "draw_boxes_util.png",
      )
      if not os.path.exists(path):
          res = Image.fromarray(
              result.permute(1, 2, 0).contiguous().numpy()
          )
          res.save(path)
  
      if PILLOW_VERSION >= (10, 1):
          # The reference image is only valid for new PIL versions
          expected = torch.as_tensor(
              np.array(Image.open(path))
          ).permute(2, 0, 1)
          assert_equal(result, expected)
  
      # Check if modification is not in place
      assert_equal(boxes, boxes_cp)
      assert_equal(img, img_cp)
  
imports: import os
  import re
  import sys
  import tempfile
  from io import BytesIO
  import numpy
  import pytest
  import torch
  import torchvision.transforms.functional
  import torchvision.utils
  from common_utils import assert_equal, cpu_and_cuda
  from PIL import __version__, Image, ImageColor
  from torchvision.transforms.v2.functional import to_dtype
label_desc: Use image node_id 7 for calling a global function with example usage: test_draw_boxes() without return types