code: def test_consistent_order_of_args():
      from importlib import import_module
  
      from datalad.interface.base import get_interface_groups
  
      for grp_name, grp_descr, interfaces in get_interface_groups():
          for intfspec in interfaces:
              # turn the interface spec into an instance
              mod = import_module(intfspec[0], package="datalad")
              intf = getattr(mod, intfspec[1])
              spec = getattr(intf, "_params_", dict())
  
              # figure out which of the specs are "positional"
              spec_posargs = {
                  name
                  for name, param in spec.items()
                  if param.cmd_args
                  and not param.cmd_args[0].startswith("-")
              }
              # we have information about positional args
              _test_consistent_order_of_args(intf, spec_posargs)
  
imports: import re
  from datalad.tests.utils_pytest import SkipTest, assert_false, assert_in, assert_true, eq_
  from datalad.utils import get_sig_param_names
label_desc: Use image node_id 3 for calling a global function with example usage: test_consistent_order_of_args() without return types