@@ -162,6 +162,32 @@ def test_place_acquire(place):
162162 spawn .close ()
163163 assert spawn .exitstatus == 0 , spawn .before .strip ()
164164
165+ def test_place_who_header_stays_first (monkeypatch , place ):
166+ # A user name starting with an uppercase letter sorts before the "User"
167+ # header when comparing strings (uppercase letters have lower code points
168+ # than lowercase ones). Ensure the header still stays on the first line.
169+ user = "Alice"
170+ host = "test-host"
171+ monkeypatch .setenv ("LG_USERNAME" , user )
172+ monkeypatch .setenv ("LG_HOSTNAME" , host )
173+
174+ with pexpect .spawn ('python -m labgrid.remote.client -p test acquire' ) as spawn :
175+ spawn .expect (pexpect .EOF )
176+ spawn .close ()
177+ assert spawn .exitstatus == 0 , spawn .before .strip ()
178+
179+ with pexpect .spawn ('python -m labgrid.remote.client who' ) as spawn :
180+ spawn .expect (pexpect .EOF )
181+ spawn .close ()
182+ assert spawn .exitstatus == 0 , spawn .before .strip ()
183+ lines = spawn .before .decode ("utf-8" ).strip ().splitlines ()
184+ assert lines [0 ].split ()[:4 ] == ["User" , "Host" , "Place" , "Changed" ], lines
185+
186+ with pexpect .spawn ('python -m labgrid.remote.client -p test release' ) as spawn :
187+ spawn .expect (pexpect .EOF )
188+ spawn .close ()
189+ assert spawn .exitstatus == 0 , spawn .before .strip ()
190+
165191def test_place_acquire_multiple (create_place , tmpdir ):
166192 # create multiple places
167193 place_names = ['test1' , 'test2' ]
0 commit comments