[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:after_other_directives:*]
  implementation-status: backlog
  [:directive="enable%20f16"]
    expected:
      if os == "mac": FAIL

  [:directive="requires%20readonly_and_readwrite_storage_textures"]


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:conflicting_attribute_different_location:*]
  implementation-status: backlog
  expected:
    if os == "linux" and debug: [OK, TIMEOUT]
    if os == "mac": TIMEOUT
  [:loc="compound";s1="error";s2="info"]
    expected: FAIL

  [:loc="compound";s1="error";s2="off"]
    expected: FAIL

  [:loc="compound";s1="error";s2="warning"]
    expected: FAIL

  [:loc="compound";s1="info";s2="error"]
    expected: FAIL

  [:loc="compound";s1="info";s2="off"]
    expected: FAIL

  [:loc="compound";s1="info";s2="warning"]
    expected: FAIL

  [:loc="compound";s1="off";s2="error"]
    expected: FAIL

  [:loc="compound";s1="off";s2="info"]
    expected: FAIL

  [:loc="compound";s1="off";s2="warning"]
    expected: FAIL

  [:loc="compound";s1="warning";s2="error"]
    expected: FAIL

  [:loc="compound";s1="warning";s2="info"]
    expected: FAIL

  [:loc="compound";s1="warning";s2="off"]
    expected: FAIL

  [:loc="for_stmt";s1="error";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="error";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="error";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="info";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="info";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="info";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="off";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="off";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="off";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="warning";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="warning";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="warning";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="if_stmt";s1="error";s2="info"]
    expected: FAIL

  [:loc="if_stmt";s1="error";s2="off"]
    expected: FAIL

  [:loc="if_stmt";s1="error";s2="warning"]
    expected: FAIL

  [:loc="if_stmt";s1="info";s2="error"]
    expected: FAIL

  [:loc="if_stmt";s1="info";s2="off"]
    expected: FAIL

  [:loc="if_stmt";s1="info";s2="warning"]
    expected: FAIL

  [:loc="if_stmt";s1="off";s2="error"]
    expected: FAIL

  [:loc="if_stmt";s1="off";s2="info"]
    expected: FAIL

  [:loc="if_stmt";s1="off";s2="warning"]
    expected: FAIL

  [:loc="if_stmt";s1="warning";s2="error"]
    expected: FAIL

  [:loc="if_stmt";s1="warning";s2="info"]
    expected: FAIL

  [:loc="if_stmt";s1="warning";s2="off"]
    expected: FAIL

  [:loc="loop_stmt";s1="error";s2="info"]
    expected: FAIL

  [:loc="loop_stmt";s1="error";s2="off"]
    expected: FAIL

  [:loc="loop_stmt";s1="error";s2="warning"]
    expected: FAIL

  [:loc="loop_stmt";s1="info";s2="error"]
    expected: FAIL

  [:loc="loop_stmt";s1="info";s2="off"]
    expected: FAIL

  [:loc="loop_stmt";s1="info";s2="warning"]
    expected: FAIL

  [:loc="loop_stmt";s1="off";s2="error"]
    expected: FAIL

  [:loc="loop_stmt";s1="off";s2="info"]
    expected: FAIL

  [:loc="loop_stmt";s1="off";s2="warning"]
    expected: FAIL

  [:loc="loop_stmt";s1="warning";s2="error"]
    expected: FAIL

  [:loc="loop_stmt";s1="warning";s2="info"]
    expected: FAIL

  [:loc="loop_stmt";s1="warning";s2="off"]
    expected: FAIL

  [:loc="switch_body";s1="error";s2="info"]
    expected: FAIL

  [:loc="switch_body";s1="error";s2="off"]
    expected: FAIL

  [:loc="switch_body";s1="error";s2="warning"]
    expected: FAIL

  [:loc="switch_body";s1="info";s2="error"]
    expected: FAIL

  [:loc="switch_body";s1="info";s2="off"]
    expected: FAIL

  [:loc="switch_body";s1="info";s2="warning"]
    expected: FAIL

  [:loc="switch_body";s1="off";s2="error"]
    expected: FAIL

  [:loc="switch_body";s1="off";s2="info"]
    expected: FAIL

  [:loc="switch_body";s1="off";s2="warning"]
    expected: FAIL

  [:loc="switch_body";s1="warning";s2="error"]
    expected: FAIL

  [:loc="switch_body";s1="warning";s2="info"]
    expected: FAIL

  [:loc="switch_body";s1="warning";s2="off"]
    expected: FAIL

  [:loc="switch_case";s1="error";s2="info"]
    expected: FAIL

  [:loc="switch_case";s1="error";s2="off"]
    expected: FAIL

  [:loc="switch_case";s1="error";s2="warning"]
    expected: FAIL

  [:loc="switch_case";s1="info";s2="error"]
    expected: FAIL

  [:loc="switch_case";s1="info";s2="off"]
    expected: FAIL

  [:loc="switch_case";s1="info";s2="warning"]
    expected: FAIL

  [:loc="switch_case";s1="off";s2="error"]
    expected: FAIL

  [:loc="switch_case";s1="off";s2="info"]
    expected: FAIL

  [:loc="switch_case";s1="off";s2="warning"]
    expected: FAIL

  [:loc="switch_case";s1="warning";s2="error"]
    expected: FAIL

  [:loc="switch_case";s1="warning";s2="info"]
    expected: FAIL

  [:loc="switch_case";s1="warning";s2="off"]
    expected: FAIL

  [:loc="switch_stmt";s1="error";s2="info"]
    expected: FAIL

  [:loc="switch_stmt";s1="error";s2="off"]
    expected: FAIL

  [:loc="switch_stmt";s1="error";s2="warning"]
    expected: FAIL

  [:loc="switch_stmt";s1="info";s2="error"]
    expected: FAIL

  [:loc="switch_stmt";s1="info";s2="off"]
    expected: FAIL

  [:loc="switch_stmt";s1="info";s2="warning"]
    expected: FAIL

  [:loc="switch_stmt";s1="off";s2="error"]
    expected: FAIL

  [:loc="switch_stmt";s1="off";s2="info"]
    expected: FAIL

  [:loc="switch_stmt";s1="off";s2="warning"]
    expected: FAIL

  [:loc="switch_stmt";s1="warning";s2="error"]
    expected: FAIL

  [:loc="switch_stmt";s1="warning";s2="info"]
    expected: FAIL

  [:loc="switch_stmt";s1="warning";s2="off"]
    expected: FAIL

  [:loc="while_stmt";s1="error";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="error";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="error";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="info";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="info";s2="off"]
    expected: FAIL

  [:loc="while_stmt";s1="info";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="off";s2="error"]
    expected: FAIL

  [:loc="while_stmt";s1="off";s2="info"]
    expected: FAIL

  [:loc="while_stmt";s1="off";s2="warning"]
    expected: FAIL

  [:loc="while_stmt";s1="warning";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="warning";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="warning";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:conflicting_attribute_same_location:*]
  implementation-status: backlog
  expected: TIMEOUT
  [:loc="compound";s1="error";s2="error"]
    expected: FAIL

  [:loc="compound";s1="error";s2="info"]

  [:loc="compound";s1="error";s2="off"]

  [:loc="compound";s1="error";s2="warning"]

  [:loc="compound";s1="info";s2="error"]

  [:loc="compound";s1="info";s2="info"]
    expected: FAIL

  [:loc="compound";s1="info";s2="off"]

  [:loc="compound";s1="info";s2="warning"]

  [:loc="compound";s1="off";s2="error"]

  [:loc="compound";s1="off";s2="info"]

  [:loc="compound";s1="off";s2="off"]
    expected: FAIL

  [:loc="compound";s1="off";s2="warning"]

  [:loc="compound";s1="warning";s2="error"]

  [:loc="compound";s1="warning";s2="info"]

  [:loc="compound";s1="warning";s2="off"]

  [:loc="compound";s1="warning";s2="warning"]
    expected: FAIL

  [:loc="for_body";s1="error";s2="error"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_body";s1="error";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="error";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="error";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="info";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="info";s2="info"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_body";s1="info";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="info";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="off";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="off";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="off";s2="off"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_body";s1="off";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="warning";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="warning";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="warning";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_body";s1="warning";s2="warning"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="error";s2="error"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="error";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="error";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="error";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="info";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="info";s2="info"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="info";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="info";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="off";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="off";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="off";s2="off"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="off";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="warning";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="warning";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="warning";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="for_stmt";s1="warning";s2="warning"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="function";s1="error";s2="error"]
    expected: FAIL

  [:loc="function";s1="error";s2="info"]

  [:loc="function";s1="error";s2="off"]

  [:loc="function";s1="error";s2="warning"]

  [:loc="function";s1="info";s2="error"]

  [:loc="function";s1="info";s2="info"]
    expected: FAIL

  [:loc="function";s1="info";s2="off"]

  [:loc="function";s1="info";s2="warning"]

  [:loc="function";s1="off";s2="error"]

  [:loc="function";s1="off";s2="info"]

  [:loc="function";s1="off";s2="off"]
    expected: FAIL

  [:loc="function";s1="off";s2="warning"]

  [:loc="function";s1="warning";s2="error"]

  [:loc="function";s1="warning";s2="info"]

  [:loc="function";s1="warning";s2="off"]

  [:loc="function";s1="warning";s2="warning"]
    expected: FAIL

  [:loc="if_else";s1="error";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="if_else";s1="error";s2="info"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:loc="if_else";s1="error";s2="off"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:loc="if_else";s1="error";s2="warning"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:loc="if_else";s1="info";s2="error"]

  [:loc="if_else";s1="info";s2="info"]
    expected: FAIL

  [:loc="if_else";s1="info";s2="off"]

  [:loc="if_else";s1="info";s2="warning"]

  [:loc="if_else";s1="off";s2="error"]

  [:loc="if_else";s1="off";s2="info"]

  [:loc="if_else";s1="off";s2="off"]
    expected: FAIL

  [:loc="if_else";s1="off";s2="warning"]

  [:loc="if_else";s1="warning";s2="error"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:loc="if_else";s1="warning";s2="info"]

  [:loc="if_else";s1="warning";s2="off"]

  [:loc="if_else";s1="warning";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:loc="if_stmt";s1="error";s2="error"]
    expected: FAIL

  [:loc="if_stmt";s1="error";s2="info"]

  [:loc="if_stmt";s1="error";s2="off"]

  [:loc="if_stmt";s1="error";s2="warning"]

  [:loc="if_stmt";s1="info";s2="error"]

  [:loc="if_stmt";s1="info";s2="info"]
    expected: FAIL

  [:loc="if_stmt";s1="info";s2="off"]

  [:loc="if_stmt";s1="info";s2="warning"]

  [:loc="if_stmt";s1="off";s2="error"]

  [:loc="if_stmt";s1="off";s2="info"]

  [:loc="if_stmt";s1="off";s2="off"]
    expected: FAIL

  [:loc="if_stmt";s1="off";s2="warning"]

  [:loc="if_stmt";s1="warning";s2="error"]

  [:loc="if_stmt";s1="warning";s2="info"]

  [:loc="if_stmt";s1="warning";s2="off"]

  [:loc="if_stmt";s1="warning";s2="warning"]
    expected: FAIL

  [:loc="if_then";s1="error";s2="error"]
    expected: FAIL

  [:loc="if_then";s1="error";s2="info"]

  [:loc="if_then";s1="error";s2="off"]

  [:loc="if_then";s1="error";s2="warning"]

  [:loc="if_then";s1="info";s2="error"]

  [:loc="if_then";s1="info";s2="info"]
    expected: FAIL

  [:loc="if_then";s1="info";s2="off"]

  [:loc="if_then";s1="info";s2="warning"]

  [:loc="if_then";s1="off";s2="error"]

  [:loc="if_then";s1="off";s2="info"]

  [:loc="if_then";s1="off";s2="off"]
    expected: FAIL

  [:loc="if_then";s1="off";s2="warning"]

  [:loc="if_then";s1="warning";s2="error"]

  [:loc="if_then";s1="warning";s2="info"]

  [:loc="if_then";s1="warning";s2="off"]

  [:loc="if_then";s1="warning";s2="warning"]
    expected: FAIL

  [:loc="loop_body";s1="error";s2="error"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="error";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="error";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="error";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="info";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="info";s2="info"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="info";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="info";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="off";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="off";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="off";s2="off"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="off";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="warning";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="warning";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="warning";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_body";s1="warning";s2="warning"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="error";s2="error"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="error";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="error";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="error";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="info";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="info";s2="info"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="info";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="info";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="off";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="off";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="off";s2="off"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="off";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="warning";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="warning";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="warning";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_continuing";s1="warning";s2="warning"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="error";s2="error"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="error";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="error";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="error";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="info";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="info";s2="info"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="info";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="info";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="off";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="off";s2="info"]
    expected:
      if os == "win" and debug: [TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="off";s2="off"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="off";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="warning";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="warning";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="warning";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="loop_stmt";s1="warning";s2="warning"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="error";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="error";s2="info"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="error";s2="off"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="error";s2="warning"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="info";s2="error"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="info";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="info";s2="off"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="info";s2="warning"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="off";s2="error"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="off";s2="info"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="off";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="off";s2="warning"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="warning";s2="error"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="warning";s2="info"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="warning";s2="off"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_body";s1="warning";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="error";s2="error"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="error";s2="info"]
    expected:
      if os == "win" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="error";s2="off"]
    expected:
      if os == "win" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="error";s2="warning"]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="info";s2="error"]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="info";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="info";s2="off"]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="info";s2="warning"]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="off";s2="error"]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="off";s2="info"]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="off";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="off";s2="warning"]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="warning";s2="error"]
    expected:
      if os == "win" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="warning";s2="info"]
    expected:
      if os == "win" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="warning";s2="off"]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_case";s1="warning";s2="warning"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="error";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="error";s2="info"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="error";s2="off"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="error";s2="warning"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="info";s2="error"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="info";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="info";s2="off"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="info";s2="warning"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="off";s2="error"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="off";s2="info"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="off";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="off";s2="warning"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="warning";s2="error"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="warning";s2="info"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="warning";s2="off"]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_default";s1="warning";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="error";s2="error"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="error";s2="info"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="error";s2="off"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="error";s2="warning"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="info";s2="error"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="info";s2="info"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="info";s2="off"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="info";s2="warning"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="off";s2="error"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="off";s2="info"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="off";s2="off"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="off";s2="warning"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="warning";s2="error"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="warning";s2="info"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="warning";s2="off"]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:loc="switch_stmt";s1="warning";s2="warning"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_body";s1="error";s2="error"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_body";s1="error";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="error";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="error";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="info";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="info";s2="info"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_body";s1="info";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="info";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="off";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="off";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="off";s2="off"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_body";s1="off";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="warning";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="warning";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="warning";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_body";s1="warning";s2="warning"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="error";s2="error"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="error";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="error";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="error";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="info";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="info";s2="info"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="info";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="info";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="off";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="off";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="off";s2="off"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="off";s2="warning"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="warning";s2="error"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="warning";s2="info"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="warning";s2="off"]
    expected: [TIMEOUT, NOTRUN]

  [:loc="while_stmt";s1="warning";s2="warning"]
    expected: [FAIL, TIMEOUT, NOTRUN]


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:conflicting_directive:*]
  implementation-status: backlog
  [:s1="error";s2="error"]
    expected: FAIL

  [:s1="error";s2="info"]

  [:s1="error";s2="off"]

  [:s1="error";s2="warning"]

  [:s1="info";s2="error"]

  [:s1="info";s2="info"]
    expected: FAIL

  [:s1="info";s2="off"]

  [:s1="info";s2="warning"]

  [:s1="off";s2="error"]

  [:s1="off";s2="info"]

  [:s1="off";s2="off"]
    expected: FAIL

  [:s1="off";s2="warning"]

  [:s1="warning";s2="error"]

  [:s1="warning";s2="info"]

  [:s1="warning";s2="off"]

  [:s1="warning";s2="warning"]
    expected: FAIL


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:diagnostic_scoping:*]
  implementation-status: backlog
  [:case="call_unaffected_error"]

  [:case="call_unaffected_off"]
    expected: FAIL

  [:case="call_unaffected_warn"]
    expected: FAIL

  [:case="deeper_nest_no_effect"]

  [:case="deepest_nesting_error"]

  [:case="deepest_nesting_off"]
    expected: FAIL

  [:case="deepest_nesting_warn"]
    expected: FAIL

  [:case="global_if_nothing_else_warn"]
    expected: FAIL

  [:case="if_condition_error"]

  [:case="if_condition_off"]
    expected: FAIL

  [:case="if_condition_warn"]
    expected: FAIL

  [:case="other_nest_unaffected"]
    expected: FAIL

  [:case="override_global_off"]
    expected: FAIL

  [:case="override_global_on"]

  [:case="override_global_warn"]
    expected: FAIL

  [:case="switch_error"]

  [:case="switch_off"]
    expected: FAIL

  [:case="switch_warn"]
    expected: FAIL


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:invalid_locations:*]
  implementation-status: backlog
  [:type="attribute";location="function_const"]
    expected: FAIL

  [:type="attribute";location="function_let"]

  [:type="attribute";location="function_params"]

  [:type="attribute";location="function_var"]

  [:type="attribute";location="module_const"]

  [:type="attribute";location="module_override"]

  [:type="attribute";location="module_var"]

  [:type="attribute";location="pre_case"]

  [:type="attribute";location="pre_continuing"]

  [:type="attribute";location="pre_default"]

  [:type="attribute";location="pre_else"]

  [:type="attribute";location="pre_for_params"]

  [:type="attribute";location="struct"]

  [:type="attribute";location="struct_member"]

  [:type="directive";location="function_const"]
    expected: FAIL

  [:type="directive";location="function_let"]

  [:type="directive";location="function_params"]

  [:type="directive";location="function_var"]

  [:type="directive";location="module_const"]

  [:type="directive";location="module_override"]

  [:type="directive";location="module_var"]

  [:type="directive";location="pre_case"]

  [:type="directive";location="pre_continuing"]

  [:type="directive";location="pre_default"]

  [:type="directive";location="pre_else"]

  [:type="directive";location="pre_for_params"]

  [:type="directive";location="struct"]

  [:type="directive";location="struct_member"]


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:invalid_severity:*]
  [:severity="fatal";type="attribute"]

  [:severity="fatal";type="directive"]

  [:severity="goose";type="attribute"]

  [:severity="goose";type="directive"]

  [:severity="none";type="attribute"]

  [:severity="none";type="directive"]

  [:severity="severe";type="attribute"]

  [:severity="severe";type="directive"]

  [:severity="warn";type="attribute"]

  [:severity="warn";type="directive"]


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:valid_locations:*]
  implementation-status: backlog
  [:type="attribute";location="compound"]
    expected: FAIL

  [:type="attribute";location="for_body"]
    expected: FAIL

  [:type="attribute";location="for_stmt"]
    expected: FAIL

  [:type="attribute";location="function"]
    expected: FAIL

  [:type="attribute";location="if_else"]
    expected: FAIL

  [:type="attribute";location="if_stmt"]
    expected: FAIL

  [:type="attribute";location="if_then"]
    expected: FAIL

  [:type="attribute";location="loop_body"]
    expected: FAIL

  [:type="attribute";location="loop_continuing"]
    expected: FAIL

  [:type="attribute";location="loop_stmt"]
    expected: FAIL

  [:type="attribute";location="module"]

  [:type="attribute";location="switch_body"]
    expected: FAIL

  [:type="attribute";location="switch_case"]
    expected: FAIL

  [:type="attribute";location="switch_default"]
    expected: FAIL

  [:type="attribute";location="switch_stmt"]
    expected: FAIL

  [:type="attribute";location="while_body"]
    expected: FAIL

  [:type="attribute";location="while_stmt"]
    expected: FAIL

  [:type="directive";location="compound"]

  [:type="directive";location="for_body"]

  [:type="directive";location="for_stmt"]

  [:type="directive";location="function"]

  [:type="directive";location="if_else"]

  [:type="directive";location="if_stmt"]

  [:type="directive";location="if_then"]

  [:type="directive";location="loop_body"]

  [:type="directive";location="loop_continuing"]

  [:type="directive";location="loop_stmt"]

  [:type="directive";location="module"]
    expected: FAIL

  [:type="directive";location="switch_body"]

  [:type="directive";location="switch_case"]

  [:type="directive";location="switch_default"]

  [:type="directive";location="switch_stmt"]

  [:type="directive";location="while_body"]

  [:type="directive";location="while_stmt"]


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:valid_params:*]
  implementation-status: backlog
  [:severity="error";rule="derivative_uniformity";type="attribute"]
    expected: FAIL

  [:severity="error";rule="derivative_uniformity";type="directive"]
    expected: FAIL

  [:severity="info";rule="derivative_uniformity";type="attribute"]
    expected: FAIL

  [:severity="info";rule="derivative_uniformity";type="directive"]
    expected: FAIL

  [:severity="off";rule="derivative_uniformity";type="attribute"]
    expected: FAIL

  [:severity="off";rule="derivative_uniformity";type="directive"]
    expected: FAIL

  [:severity="warning";rule="derivative_uniformity";type="attribute"]
    expected: FAIL

  [:severity="warning";rule="derivative_uniformity";type="directive"]
    expected: FAIL


[cts.https.html?q=webgpu:shader,validation,parse,diagnostic:warning_unknown_rule:*]
  implementation-status: backlog
  [:type="attribute";rule="blahblahblah"]
    expected: FAIL

  [:type="attribute";rule="derivative_uniform"]
    expected: FAIL

  [:type="attribute";rule="unknown"]
    expected: FAIL

  [:type="directive";rule="blahblahblah"]
    expected: FAIL

  [:type="directive";rule="derivative_uniform"]
    expected: FAIL

  [:type="directive";rule="unknown"]
    expected: FAIL
