code: def test_unused_kwargs():
      @augmentation
      def no_extra(data, _):
          pass
  
      @augmentation
      def aug(data, param, one_param, another_param):
          pass
  
      @augmentation
      def another_aug(data, _, another_param, yet_another_param):
          pass
  
      augments = (no_extra, aug, another_aug)
  
      forbid_unused_kwargs(augments, {}, "dummy")
      forbid_unused_kwargs(
          augments,
          {"one_param": 1, "another_param": 2, "yet_another_param": 3},
          "dummy",
      )
  
      with assert_raises(
          Exception, glob="The kwarg `amnother_param` is not used"
      ):
          forbid_unused_kwargs(
              augments,
              {
                  "one_param": 1,
                  "amnother_param": 2,
                  "yet_another_param": 3,
              },
              "dummy",
          )
  
      with assert_raises(
          Exception,
          glob="The kwargs `amnother_param, yemt_another_param` are",
      ):
          forbid_unused_kwargs(
              augments,
              {
                  "one_param": 1,
                  "amnother_param": 2,
                  "yemt_another_param": 3,
              },
              "dummy",
          )
  
imports: import numpy
  import nvidia.dali.tensors
  from nvidia.dali import pipeline_def, fn, types
  from nvidia.dali.auto_aug.core import augmentation, signed_bin
  from nvidia.dali.auto_aug.core._args import forbid_unused_kwargs
  from nose2.tools import params
  from test_utils import check_batch
  from nose_utils import assert_warns, assert_raises
label_desc: Use image node_id 15 for calling a global function with example usage: test_unused_kwargs() without return types