mirror-webgpu-cts/standalone/index.html
Kai Ninomiya 9cbb800a96
Make test cases hierarchical, and refactor/cleanup a lot in the process (#181)
* update tests, approximately

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* unittests:loading:* now passes

* passes 63 unittests, but not all are running...

* typechecks!!

* 58 unittests passing

* reenable getStackTrace tests

* wip

* finally all tests and checks pass!

* fixups

* wip

* replace all spaces with underscores in test names

* wip

* wip

* wip

* Dissolve TestLoader (now just use DefaultTestFileLoader)

* tighten ParamSpec type

* rename ParamSpec -> CaseParams

* make kParamSeparator ";", now standalone runner is working!

* add separate icon for leaf run buttons

* file renames

* remove user-select:all (not really needed anymore, triple click works fine now)

* cleanup some tests, add tests for test queries

* split interface for defining and running TestGroups

* more cleanup, fix URL encoding stuff, and standalone HTML

* fix readmes for parents of query

* clean up unused ReadmeFile interface

* dissolve id.ts

* test_suite_listing.ts

* split params_utils into param_utils + stringify_params

* rename encodeURLSelectively again

* add query.isMulti{File,Test,Case}

* fix gen_wpt_cts_html (at least for the simple mode; advanced mode probably still broken

* better run-one icon

* standalone: always make the url bar show the complete url

* revert tasks.json

* fix number out of bounds

* don't drop worker results, report input string on all query parse errors

* update docs/terms.md

* revisions

* more revisions

* make comparePublicParamsPaths order-agnostic (now allows queries against params out of order, but tree will not reorder itself accordingly)

* revise compareQueries, part 1

* revise compareQueries, part 2: compareOneLevel

* remove incorrect comment

* undo fast-glob dependency

* address Austin's comments

* address comments

* pass debug flag into test worker

* typo fixes
2020-05-18 15:33:41 -07:00

192 lines
5.2 KiB
HTML

<html>
<head>
<title>WebGPU CTS</title>
<link
id="favicon"
rel="shortcut icon"
type="image/png"
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEUAAAAAAAD///+D3c/SAAAAAXRSTlMAQObYZgAAAEpJREFUCB0FwbERgDAMA0BdSkbJQBSuaPABE0WuaKILmpJ/rNVejPKBUXGhqAC5J0gn9ESg2wvdNua8hUoKJQo8b6HyE6a2QHdbP0CPITh2pewWAAAAAElFTkSuQmCC"
/>
<meta name="viewport" content="width=device-width" />
<link rel="stylesheet" href="third_party/normalize.min.css" />
<script src="third_party/jquery/jquery-3.3.1.min.js"></script>
<style>
html {
overflow-x: hidden;
}
body {
font-family: monospace;
min-width: 400px;
}
* {
box-sizing: border-box;
}
#info {
font-family: monospace;
}
#resultsJSON {
font-family: monospace;
width: 100%;
height: 15em;
}
#resultsVis {
border-right: 1px solid gray;
}
/* tree nodes */
.nodeheader {
display: flex;
width: 100%;
padding: 1px 2px 1px 1px;
}
.subtreerun,
.leafrun,
.nodelink,
.testcaselogbtn {
display: inline-block;
flex-shrink: 0;
flex-grow: 0;
vertical-align: top;
background-color: #eee;
background-repeat: no-repeat;
background-position: center;
border: 1px solid #888;
}
@media (pointer: fine) {
.subtreerun,
.leafrun,
.nodelink,
.testcaselogbtn {
flex-basis: 24px;
border-radius: 4px;
width: 24px;
height: 24px;
}
}
@media (pointer: coarse) {
.subtreerun,
.leafrun,
.nodelink,
.testcaselogbtn {
flex-basis: 36px;
border-radius: 6px;
width: 36px;
height: 36px;
}
}
.subtreerun {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAANklEQVQoU2NkYGD4zwABjFAagwJJwBTBJDEUY1OEoRifIrhiYhSBHYvuJnSHM5LtJry+wxlOAGPTCQmAB/WwAAAAAElFTkSuQmCC);
}
.leafrun {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAAB5JREFUCNdjOMDAsIGBoYeBoZmBoaEBRPaARQ4wAABTfwX/l/WQvgAAAABJRU5ErkJggg==);
}
.nodelink {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMAQMAAABsu86kAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAACRJREFUCNdjYGBg+P+BoUGAYesFhj4BhvsFDPYNDHwMCMTAAACqJwbp3VgbrAAAAABJRU5ErkJggg==);
}
.nodetitle {
flex: 10 0 4em;
}
.nodename {
word-break: break-word;
}
@media only screen and (max-width: 600px) {
/* TODO: make the uninteresting part of the name be really small or something, such that it gets
* auto selected but doesn't take space. */
}
.nodedescription {
margin: 0;
color: gray;
}
/* tree nodes which are subtrees */
.subtree {
margin: 0px;
border-width: 1px 0 0 1px;
border-style: solid;
border-color: gray;
}
.subtreechildren {
margin-left: 6px;
}
/* tree nodes which are test cases */
.testcase {
border-width: 1px 0 0 1px;
border-style: solid;
border-color: gray;
background: white;
}
.testcase[data-status='fail'] {
background: #fcc;
}
.testcase[data-status='warn'] {
background: #ffb;
}
.testcase[data-status='pass'] {
background: #cfc;
}
.testcase[data-status='skip'] {
background: #ccc;
}
.testcasetime {
white-space: nowrap;
text-align: right;
flex: 1 0 5.5em;
}
.testcaselogs {
margin-left: 6px;
width: calc(100% - 6px);
border-width: 0 0px 0 1px;
border-style: solid;
border-color: gray;
background: white;
}
.testcaselog {
display: flex;
}
.testcaselog:nth-child(odd) {
background: #fff;
}
.testcaselog:nth-child(even) {
background: #f8f8f8;
}
.testcaselogbtn {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMAQMAAABsu86kAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAACRJREFUCNdjYGBg+H+AwUGBwV+BQUGAQX0CiNQQYFABk8ogLgBsYQUt2gNKPwAAAABJRU5ErkJggg==);
}
.testcaselogtext {
flex: 1 0;
font-size: 10pt;
white-space: pre-wrap;
word-break: break-word;
margin: 0;
color: #666;
}
.testcaselogtext::first-line {
color: #000;
}
@media only screen and (max-width: 600px) {
.subtreechildren {
margin-left: 2px;
}
.testcaselogs {
margin-left: 2px;
width: calc(100% - 2px);
}
}
</style>
</head>
<body>
<h1>WebGPU Conformance Test Suite</h1>
<div id="info"></div>
<div id="resultsVis"></div>
<textarea id="resultsJSON"></textarea>
<script type="module" src="../out/common/runtime/standalone.js"></script>
</body>
</html>