4bf8479a43a493e2899953b7358c9464abbc3959 braney Wed Sep 23 17:15:55 2026 -0700 docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252 A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR answered "Could not find session". The sessions are now text files in regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta. rm36340's session held its custom tracks as a customTrash table on genome-test. The track source is a file of its own now, loaded through hgt.customText, without two commented-out tracks whose URLs carry a password. Its first check now asks for a custom track row and the hub's row, and fails when the session file does not load. A lifted session cannot be a file: it names its quickLift hub by a path on the server that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272 build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38, and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its settings page, with the bug's own error, so it gains a release-ab proof line. diff --git src/hg/utils/docent/tests/regress/rm37389.docent.yaml src/hg/utils/docent/tests/regress/rm37389.docent.yaml index 00c2ce748b1..85637739f88 100644 --- src/hg/utils/docent/tests/regress/rm37389.docent.yaml +++ src/hg/utils/docent/tests/regress/rm37389.docent.yaml @@ -1,53 +1,59 @@ # #37389 -- the track description was missing from a quickLifted hgc page when the source # assembly is a GenArk hub. # # It was broken twice and by different causes, which is why the comment is long. # # The v498 fix (5aed2d465f1) filled in a TODO branch in getTrackHtml() (hg/lib/hui.c) that # had done nothing whenever quickLiftDb named a hub assembly. That fix works. # # Then 1258d7f65e7 ("trackHub: keep a description a track inherited from its parent", refs # #38126) broke it again on master, and only on master: measured 2026-09-05, v502 and v503 # both drew the description and the tip did not. It made trackHubAddOneDescription return # early rather than assign a failed fetch, so tdb->html keeps a non-NULL value; hgc's # getHtmlFromSelfOrParent asked `tdb->html == NULL` before falling back to the source hub, # that test stopped holding, and getTrackHtml was never called. Filed as #38275 and fixed # in 4be6477ebcb by asking isEmpty() instead. # # So this script has now watched the behaviour break and come back, which is more than the # rest of the suite can say. It was an .xfail between the two. # -# The session is braney/crash1, the same one rm37388 uses, because it pins a state that is -# awkward to build in steps: hg38 with a quickLift hub active whose source is the GenArk -# GCA_018466835.2, and an xenoRefGene track from that hub. rm38272 uses it too, so preflight -# covers it for all three. +# The state is the one rm37388 builds: hg38 with a quickLift hub active whose source is the +# GenArk GCA_018466835.2, and an xenoRefGene track from that hub. It used to come from the +# saved session braney/crash1, which only genome-test could load; it is built in steps now. # # A separate from-scratch reproduction, which needs no session at all and can be pointed at # any server, is kept at # /hive/groups/browser/redmineNotes/38252/claude/repro_37388_hgTrackUi.js -- it was written # for #38272 but walks the same ground. There is also a Docent tour of this bug at # ~/docentTours/bugs/rm37389.docent.yaml, recorded while it was broken. proof: - "caught-regression 2026-09-05 -- 1258d7f65e7 broke the description again on the tip only, v502 and v503 still drew it; filed as #38275, fixed in 4be6477ebcb and green again" target: genome-test db: hg38 reset: true fast: true steps: - - loadSession: {user: braney, name: crash1} - - expect: {noText: "Could not find session"} + # The lifted view is built in steps, not loaded from a session. A quickLift session names + # its hub by a path on the server that made it, and re-pointing it does not work (#38046), + # so braney/crash1 ran only on genome-test. These steps run on any server. They lift the + # mitochondrion of GenArk GCA_018466835.2 to hg38, the state crash1 held. + - goto: "/cgi-bin/hgTracks?db=GCA_018466835.2&position=chrMT_JAGYVI020000079v1_random:1-16566&pix=1100" + - expect: {rows: [xenoRefGene]} + - goto: "/cgi-bin/hgConvert?db=GCA_018466835.2&position=chrMT_JAGYVI020000079v1_random:1-16566&hglft_toOrg=Human&hglft_toDb=hg38&doQuickLift=on&hglft_doConvert=submit" + - click: 'a[href*="hgTracks?"][href*="quickLift."]' + - expect: {rows: [xenoRefGene], text: "chrM"} - click: {track: xenoRefGene, item: "NM_126741.2"} # The page itself is fine -- that is #37388, which is fixed and has its own script. What # is missing is only the description block. - expect: {noText: "Couldn't set connection database", text: "Item: NM_126741.2"} # The assertion this script exists for. "RefSeq mRNAs mapped to this assembly" is the # longLabel and is on the page whether or not the description rendered, so neither half of # this is that: "Description" is the heading printTrackHtml writes above the block, and the # second is a phrase out of the hub's own description file, which is the only thing that # can only be there if the file was really fetched from the GenArk hub. - expect: {text: "Description"} - expect: {text: "translated blat alignments"}