e040e51d90b1b7af95a56c14199e4238e6912b48 braney Sat Sep 5 09:21:54 2026 -0700 docent: the four regression scripts that were failing, now green These were written yesterday, failed, and were left out of the last commit so the suite stayed green. None of the four was a browser bug. Each was the test being wrong, and each was wrong in a way worth writing into the script. rm36387 had lost the bug. The term the ticket quotes carries a ZERO-WIDTH SPACE (U+200B) between "):" and "n.46G>A", which is how it arrived from a clinical report; hgTracks passed it to encodeURIComponent unstripped, hgSuggest put it in a LIKE, and MySQL died on a collation mismatch. Without that character there is no bug at all and the test passes on any build ever shipped, so the term is now written as a escape. The fixed behavior is also not what the test assumed: the position box submits to hgSearch, which reports no results for an HGVS term. The old script waited for #imgTbl and timed out. rm37805 sat at a position where the track cannot draw. gnomadGenomesVariantsV3_1_1 carries filterValuesDefault.annot pLoF,missense,synonymous, and all 258 v3.1.1 variants in chr17:43044295-43045295 are annotated "other", so the row does not exist. Moved to chr17:43091000-43092000, inside BRCA1 exon 11, which holds 80 missense, 13 pLoF and 29 synonymous. gnomadVariants is also a superTrack, so hideKids is needed to keep its coverage siblings off. rm37326 hovered into a gap. at: sets x from the coordinate but forces y to the MIDDLE of the row, and in pack mode that track is 324px of stacked guides. It now hovers by title:, which lands on the item's own row and waits for that item's tooltip. rm37553 asserted label text that does not exist. "GFF example" is not a label: the file says `track name=GFF example description=` with the name unquoted, so hgCustom takes the name as "GFF". Nor is the description on the page, since hgTracks puts a longLabel in the control's title attribute, which innerText does not see. All 46 tracks were loading the whole time. refs #38252 diff --git src/hg/utils/docent/tests/regress/rm37553.docent.yaml src/hg/utils/docent/tests/regress/rm37553.docent.yaml new file mode 100644 index 00000000000..7a1f019eafb --- /dev/null +++ src/hg/utils/docent/tests/regress/rm37553.docent.yaml @@ -0,0 +1,47 @@ +# #37553 -- custom tracks loaded from a URL did not display on hgwdev. +# +# The ticket's example is the QA team's own set of example custom tracks, given to +# hgCustom as a URL on hg19: +# +# https://genecats.gi.ucsc.edu/qa/customTracks/testing/examples.WITHOUT.FTPS.txt +# +# That URL is kept rather than replaced with a local copy, because it is a team-owned QA +# fixture rather than one person's directory, and because it is the exact input the ticket +# used. preflight checks it, so if it moves the run says so instead of failing on an +# assertion. +# +# A custom track's row id is assigned by hgTracks and carries a random number +# (ct_GFF_6451, ct_BlatPSL_4952), so `rows:` cannot name one: rows match by suffix and the +# number changes every run. The check is on the labels instead, which is also how the +# customtrack test next door does it. +# +# Two wrong guesses about the label text, both fixed by reading the page rather than the +# file. "GFF example" is not a label: the file says `track name=GFF example description=` +# with the name unquoted, so hgCustom takes the name as "GFF" and drops "example". And the +# DESCRIPTION is not on the page either -- hgTracks puts a track's longLabel in the +# control's title attribute, which innerText does not see. What is visible is the +# shortLabel, i.e. the name. +# +# Three names from three different loaders -- a hosted vcfTabix, an inline PSL, and a +# remote bigChain -- so a partial load fails instead of passing on whichever one survived. +# All three are several words long and belong to nothing native on hg19. The height floor +# is the other half of it: these labels sit in the track controls under the image and +# would be there even if nothing had drawn. Measured 2026-09-05: 46 rows, 6475px. The +# floor is left low on purpose -- one of the remote bigDataUrls going away should not fail +# this test, since the three label checks are what carries it. +target: genome-test +db: hg19 +position: chr21:33031597-33041570 +reset: true +fast: true +steps: + - go: chr21:33031597-33041570 + - hide: all + - addCustomTrack: {url: "https://genecats.gi.ucsc.edu/qa/customTracks/testing/examples.WITHOUT.FTPS.txt"} + + - expect: + text: "VCF Example One" + noText: "Warning/Error" + height: ">1000" + - expect: {text: "Blat PSL"} + - expect: {text: "bigChain Example One"}