code: def test_set():
      with dask.config.set(abc=123):
          assert config["abc"] == 123
          with dask.config.set(abc=456):
              assert config["abc"] == 456
          assert config["abc"] == 123
  
      assert "abc" not in config
  
      with dask.config.set({"abc": 123}):
          assert config["abc"] == 123
      assert "abc" not in config
  
      with dask.config.set({"abc.x": 1, "abc.y": 2, "abc.z.a": 3}):
          assert config["abc"] == {"x": 1, "y": 2, "z": {"a": 3}}
      assert "abc" not in config
  
      d = {}
      dask.config.set({"abc.x": 123}, config=d)
      assert d["abc"]["x"] == 123
  
      # Respect previous hypenation, if any, or new hypentation, if previous is not found
      d = {"e_f": 0, "g-h": 1}
      dask.config.set(
          {"a_b": 2, "c-d": 3, "e-f": 4, "g_h": 5}, config=d
      )
      assert d == {"a_b": 2, "c-d": 3, "e_f": 4, "g-h": 5}
  
imports: from __future__ import annotations
  import os
  import site
  import stat
  import sys
  from collections import OrderedDict
  from contextlib import contextmanager
  import pytest
  import yaml
  import dask.config
  from dask.config import _get_paths, canonical_name, collect, collect_env, collect_yaml, config, deserialize, ensure_file, expand_environment_variables, get, merge, pop, refresh, rename, serialize, update, update_defaults
  from dask.utils import tmpfile
label_desc: Use image node_id 20 for calling a global function with example usage: test_set() without return types