code: def test_schema_is_complete():
      config_fn = os.path.join(
          os.path.dirname(__file__), "..", "dask.yaml"
      )
      schema_fn = os.path.join(
          os.path.dirname(__file__), "..", "dask-schema.yaml"
      )
  
      with open(config_fn) as f:
          config = yaml.safe_load(f)
  
      with open(schema_fn) as f:
          schema = yaml.safe_load(f)
  
      def test_matches(c, s):
          for k, v in c.items():
              if list(c) != list(s["properties"]):
                  raise ValueError(
                      "\nThe dask.yaml and dask-schema.yaml files are not in sync.\n"
                      "This usually happens when we add a new configuration value,\n"
                      "but don't add the schema of that value to the dask-schema.yaml file\n"
                      "Please modify these files to include the missing values: \n\n"
                      "    dask.yaml:        {}\n"
                      "    dask-schema.yaml: {}\n\n"
                      "Examples in these files should be a good start, \n"
                      "even if you are not familiar with the jsonschema spec".format(
                          sorted(c), sorted(s["properties"])
                      )
                  )
              if isinstance(v, dict):
                  test_matches(c[k], s["properties"][k])
  
      test_matches(config, schema)
  
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 35 for calling a global function with example usage: test_schema_is_complete() without return types