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/rm35580.docent.yaml src/hg/utils/docent/tests/regress/rm35580.docent.yaml
index c92467a16f8..c236a9bd754 100644
--- src/hg/utils/docent/tests/regress/rm35580.docent.yaml
+++ src/hg/utils/docent/tests/regress/rm35580.docent.yaml
@@ -1,46 +1,47 @@
 # #35580 -- "Show <alt> placed on its chromosome" errored instead of drawing the view.
 #
 # The reporter was at chr16_KI270853v1_alt:744117-744278, clicked the GRC Patches item,
 # and on the hgc page clicked "Show chr16_KI270853v1_alt placed on its chromosome". That
 # link puts hgTracks in singleAltHaplo mode, and it came back with
 #
 #     unexpected current window 55471440, expected first window 55471712
 #
 # The first attempt at a fix had to be reverted on the v487 branch (#36311, a build patch)
 # because it broke the UCSC Unusual Regions track in multi-region mode. The fix that
 # actually shipped is in v488, so this asserts the behavior of that one, not the reverted
 # one.
 #
-# The session is kept. Gerardo/RM_35326_bug is on genome-test, and what it contributes is
+# The session is kept, as the text file sessionFiles/RM_35326_bug.txt (Gerardo/RM_35326_bug
+# saved from genome-test), so the script runs on any server.  What it contributes is
 # hard to build in steps: a position on an alt contig, with the GRC Patches track showing
 # and the four recount3 tracks on -- the ticket's own title asks whether recount3 is
 # involved, so the assertion below names two of them and would catch the view coming back
 # without them.
 #
 # The item on altSeqLiftOverPsl is called "chr16", which reads oddly next to the alt-contig
 # position but is what hgTracks puts in the map box: the item names the chromosome the alt
 # belongs to.
 proof:
   - "assertion-only 2026-09-05 -- written from the ticket after the fix had shipped"
 
 target: genome-test
 db: hg38
 reset: true
 fast: true
 steps:
-  - loadSession: {user: Gerardo, name: RM_35326_bug}
+  - loadSession: "https://raw.githubusercontent.com/ucscGenomeBrowser/kent/master/src/hg/utils/docent/tests/regress/sessionFiles/RM_35326_bug.txt"
 
   # A missing session is not an error -- hgTracks answers 200 with an early-error page and
   # every noText check on it passes -- so both halves are needed here.
   - expect: {noText: "Could not find session", rows: [altSeqLiftOverPsl]}
 
   - click: {track: altSeqLiftOverPsl, item: chr16}
   - expect: {text: "Show chr16_KI270853v1_alt placed on its chromosome"}
 
   - click: 'a:has-text("placed on its chromosome")'
 
   # The row list is what makes this tight. The bug produced an error page with no track
   # image at all, so noText: on its own would have passed on it; and asking for the
   # recount3 rows checks the tracks that #36311's revert was about are still drawn in
   # singleAltHaplo mode.
   - expect: