STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
test_ignore_gse Namespace Reference

Functions

Any _payload ()
dict[str, str] _ids ()
Any _model (bool cut, Any|None payload=None)
Any _session (bool cut)
None test_the_cart_is_cut_and_its_disconnects_capped ()
None test_a_drawing_of_the_rocket_alone_is_not_touched ()
None test_on_a_one_page_drawing_it_changes_nothing ()
None test_the_rocket_fills_at_the_settings_not_through_the_cart ()
None test_a_bottle_being_charged_gives_what_the_network_draws ()
None test_a_bottle_charging_is_not_down_to_anything ()
None test_a_bottle_dumped_at_atmosphere_stays_at_atmosphere ()
None test_a_bottle_at_the_air_drawn_on_reads_the_air ()
None test_a_primed_bottle_is_down_from_its_prime ()
None test_a_poured_load_displaces_the_ullage_without_cooling_it ()
None test_a_vented_lox_load_keeps_its_ullage_over_the_liquid ()
None test_the_cart_actuators_drive_nothing ()
None test_the_hookup_keeps_the_vehicle_and_drops_the_cart ()
None test_the_setup_says_what_the_stand_was_built_from ()
None test_the_cart_vent_stays_plugged_in_and_vents_the_rocket ()
None test_a_vent_drawn_unpaired_is_said_and_once_paired_it_stays ()
None test_a_gas_swap_puts_helium_in_the_bottles_lines_and_ullages ()
Any _dome_press_machine ()
None test_the_rockets_dome_valve_is_no_vent_with_the_cart_cut ()
float _dome (Any session)
None test_an_undriven_dome_valve_leaves_the_rocket_only_dome_as_it_was ()
None test_a_dome_press_state_loads_the_dome_and_it_holds ()

Variables

 HERE = Path(__file__).resolve().parent
str DRAWING = HERE / "fixtures" / "le4_rocket_and_gse.json"
 STAR = HERE.parents[2]
str STAND = STAR / "feed-twin" / "backend" / "diagrams" / "ethalox_stand.json"
str TABLES = STAR / "feed-twin" / "backend" / "statemachines"
 needs_tables = pytest.mark.skipif(not TABLES.is_dir(), reason="no state machine tables")

Detailed Description

Ignoring the drawn GSE (``Setup.ignore_gse``, ``assemble_model(vehicle_only=)``).

The twin misreads a complicated cart (the operator, 2026-10-08), and the burn
only needs the rocket. With the option on, everything off the vehicle is cut
before the build and the stand fills the way a drawing of the rocket alone
does: the built-in charge, the built-in loads, the dome knob on the tank
regulator itself. Each check is against what the drawn cart would have done
instead, so it fails if the cart were still there.

Function Documentation

◆ _dome()

float test_ignore_gse._dome ( Any session)
protected
The dome the rocket's regulator reads now [psig].

Definition at line 503 of file test_ignore_gse.py.

References _ids().

Referenced by test_a_dome_press_state_loads_the_dome_and_it_holds(), and test_an_undriven_dome_valve_leaves_the_rocket_only_dome_as_it_was().

◆ _dome_press_machine()

Any test_ignore_gse._dome_press_machine ( )
protected
The shipped table with a "Dome Control" row open only in a "Dome Press"
state, reached from Press Standby -- a stand's own table (the operator,
2026-11-01).

Definition at line 471 of file test_ignore_gse.py.

Referenced by test_a_dome_press_state_loads_the_dome_and_it_holds().

◆ _ids()

◆ _model()

◆ _payload()

◆ _session()

◆ test_a_bottle_at_the_air_drawn_on_reads_the_air()

None test_ignore_gse.test_a_bottle_at_the_air_drawn_on_reads_the_air ( )
The floor itself, apart from the dump: a bottle at atmosphere that a
step draws 5 % of its gas from is put back at an atmosphere, mass and
energy together. Floored at the wall's density with the energy left as it
was, it kept the mass and lost the heat that left with it, and read a psi
under the air after one step (the dump test above passes on the old floor
once the dump stops at the air: this is the floor's own check).

Definition at line 260 of file test_ignore_gse.py.

References _ids(), and _session().

◆ test_a_bottle_being_charged_gives_what_the_network_draws()

None test_ignore_gse.test_a_bottle_being_charged_gives_what_the_network_draws ( )
The built-in charge and the network's draw land in one step: dm/dt =
charge - draw. The charge branch returned before the draw was applied, so a
press valve opened during GN2 High Press filled the LOX ullage from gas the
COPV never lost -- 290 g of nitrogen from nothing on LE4 (3), booked by no
vessel and opened by the watcher as "Mass not accounted for".

Definition at line 174 of file test_ignore_gse.py.

References _ids(), and _session().

◆ test_a_bottle_charging_is_not_down_to_anything()

None test_ignore_gse.test_a_bottle_charging_is_not_down_to_anything ( )
GN2 High Press from empty: the COPV climbs, and the console said it was
"down to 107 psia, 3% of what it was filled to" on every tick of the first
quarter of the charge. A bottle is down only from what it has held.

Definition at line 199 of file test_ignore_gse.py.

References _ids(), and _session().

◆ test_a_bottle_dumped_at_atmosphere_stays_at_atmosphere()

None test_ignore_gse.test_a_bottle_dumped_at_atmosphere_stays_at_atmosphere ( )
Emergency Abort opens the built-in COPV dump. On a bottle already at the
air it read 14.4 psia: the dump kept taking a ninth of the gas a second, the
floor put it back at the wall's density with none of its energy, and every
step the gas cooled and the bottle sank under atmosphere. A bottle open to
the air reads the air, and nothing flows out of it.

Definition at line 239 of file test_ignore_gse.py.

References _ids(), and _session().

◆ test_a_dome_press_state_loads_the_dome_and_it_holds()

None test_ignore_gse.test_a_dome_press_state_loads_the_dome_and_it_holds ( )
With DR-CTRL-R on a "Dome Control" row open only in "Dome Press", the
rocket's dome sits at atmosphere until Dome Press opens the line to the
cart's dome supply (the knob), and holds what it took once the line shuts:
a tank pressed before it presses nothing, one pressed after reaches
lockup.

Definition at line 531 of file test_ignore_gse.py.

References _dome(), _dome_press_machine(), _ids(), and _model().

◆ test_a_drawing_of_the_rocket_alone_is_not_touched()

None test_ignore_gse.test_a_drawing_of_the_rocket_alone_is_not_touched ( )
On, against a drawing with nothing off the vehicle: the same object.

Definition at line 94 of file test_ignore_gse.py.

References _payload().

◆ test_a_gas_swap_puts_helium_in_the_bottles_lines_and_ullages()

None test_ignore_gse.test_a_gas_swap_puts_helium_in_the_bottles_lines_and_ullages ( )
``gas_swap`` replaces the pressurant wherever it is declared: the
network's bottles, press lines and the ullages they fill hold helium; the
tanks keep their propellants. Without it, the drawing's nitrogen.

Definition at line 441 of file test_ignore_gse.py.

References _ids(), and _payload().

◆ test_a_poured_load_displaces_the_ullage_without_cooling_it()

None test_ignore_gse.test_a_poured_load_displaces_the_ullage_without_cooling_it ( )
The built-in load raised the liquid and shrank the ullage with no p dV
work on the gas; the vent then took the displaced gas at its enthalpy, and
what stayed behind lost p v per kilogram vented: the fuel ullage cooled
293 -> 285 K during a 15 s pour onto a 293 K tank at atmosphere. By hand,
an adiabatic displacement at constant pressure leaves the gas where it
was -- the liquid's work on the gas pays the flow work leaving.

Definition at line 307 of file test_ignore_gse.py.

References _ids(), _session(), and min.

◆ test_a_primed_bottle_is_down_from_its_prime()

None test_ignore_gse.test_a_primed_bottle_is_down_from_its_prime ( )
T-0 sets the bottle; it does not reach it. A bottle charged to 4,000
psig and then primed at 400 psig (a Study case, a second T-0 at a lower
charge) kept the 4,000 as the most it had held, and the console read
"down to 415 psia, 10% of the 4,015 psia it was filled to" of gas nobody had
taken out of it.

Definition at line 279 of file test_ignore_gse.py.

References _ids(), and _session().

◆ test_a_vent_drawn_unpaired_is_said_and_once_paired_it_stays()

None test_ignore_gse.test_a_vent_drawn_unpaired_is_said_and_once_paired_it_stays ( )
LE4 (6) draws the LOX vent's halves -- the rocket's QD-OV-B and the
cart's OV-QD-A in front of OV-MOT -- paired with nothing. The twin does
not guess the pair; it says so. Paired, the warning goes and the LOX vent
line stays plugged into the rocket only like the fuel's.

Definition at line 419 of file test_ignore_gse.py.

References _ids(), _model(), and _payload().

◆ test_a_vented_lox_load_keeps_its_ullage_over_the_liquid()

None test_ignore_gse.test_a_vented_lox_load_keeps_its_ullage_over_the_liquid ( )
A LOX load on its vent, chilled: the nitrogen ullage sits between the
90 K liquid and the 92 K wall, gas leaves through the vent, and no guard
books anything. Each time the tank dipped a hundredth of a psi under the
air, the floor restated the ullage's energy at a whole atmosphere of
nitrogen while it shared the tank with oxygen vapour -- colder, by
nitrogen's departure from ideal near its dew line -- and the ratchet took
the ullage to 77 K, drew ~1 g/s of "air" in through a vent blowing out, and
booked hundreds of grams as clamps: the Solver tab failed three of five
checks after every pad run (LE4 (3): 77.4 K, 0.70 kg drawn, -0.60 kg).

Definition at line 328 of file test_ignore_gse.py.

References _ids(), _session(), and min.

◆ test_an_undriven_dome_valve_leaves_the_rocket_only_dome_as_it_was()

None test_ignore_gse.test_an_undriven_dome_valve_leaves_the_rocket_only_dome_as_it_was ( )
Rocket only, the dome comes in through the capped DR-QD-B and the
rocket's DR-CTRL-R gates it -- but no row of the shipped table drives
DR-CTRL-R, so it passes and the stand runs bit for bit as it did with no
gate at all.

Definition at line 510 of file test_ignore_gse.py.

References _dome(), _ids(), and _session().

◆ test_on_a_one_page_drawing_it_changes_nothing()

None test_ignore_gse.test_on_a_one_page_drawing_it_changes_nothing ( )
The shipped stand has no GSE drawn: built with the option on it runs the
same pad, number for number, as with it off.

Definition at line 105 of file test_ignore_gse.py.

◆ test_the_cart_actuators_drive_nothing()

None test_ignore_gse.test_the_cart_actuators_drive_nothing ( )

Definition at line 362 of file test_ignore_gse.py.

References _session().

◆ test_the_cart_is_cut_and_its_disconnects_capped()

None test_ignore_gse.test_the_cart_is_cut_and_its_disconnects_capped ( )
Everything off the vehicle goes but the cart's vent line, which stays
plugged into the rocket until launch; every other coupling is capped.

Definition at line 62 of file test_ignore_gse.py.

References _ids(), _model(), and _payload().

◆ test_the_cart_vent_stays_plugged_in_and_vents_the_rocket()

None test_ignore_gse.test_the_cart_vent_stays_plugged_in_and_vents_the_rocket ( )
The cart's vents are a small part of the GSE that stays plugged into the
rocket until the last moment before launch (the team, 2026-10-10). Rocket
only, the fuel tank's vent coupling stays mated to the cart's vent line,
Fuel Vent drives the cart's FV-SOL -- not a stand-in on the capped
coupling -- and venting through it empties the pressed tank.

Definition at line 395 of file test_ignore_gse.py.

References _ids(), _model(), and _session().

◆ test_the_hookup_keeps_the_vehicle_and_drops_the_cart()

None test_ignore_gse.test_the_hookup_keeps_the_vehicle_and_drops_the_cart ( )

Definition at line 369 of file test_ignore_gse.py.

References _ids(), and _model().

◆ test_the_rocket_fills_at_the_settings_not_through_the_cart()

None test_ignore_gse.test_the_rocket_fills_at_the_settings_not_through_the_cart ( )
GN2 High Press charges the COPV to the COPV fill setting by the built-in
charge, Fuel Fill pours the built-in load, and the dome knob sets DPR_HP's
dome itself: the tanks lock up at it with no GN2 Low Press. With the cart
simulated, the COPV fills through PR-1, the fuel through the transfer tank,
and the dome stays unloaded until GN2 Low Press -- the tanks hold the spring
bias less the supply effect, which on a charged COPV is shut.

Definition at line 133 of file test_ignore_gse.py.

References _ids(), and _session().

◆ test_the_rockets_dome_valve_is_no_vent_with_the_cart_cut()

None test_ignore_gse.test_the_rockets_dome_valve_is_no_vent_with_the_cart_cut ( )
Rocket only, DR-CTRL-R sits on DPR_HP's dome line between the dome port
and the capped DR-QD-B. The loader went with the cart, so the dome line was
not found, and the solenoid was reported as a vent to atmosphere with its
dome side -- where DR-PT-R reads -- pinned there. The cart's vent line
stays a vent.

Definition at line 488 of file test_ignore_gse.py.

References _ids(), and _model().

◆ test_the_setup_says_what_the_stand_was_built_from()

None test_ignore_gse.test_the_setup_says_what_the_stand_was_built_from ( )

Definition at line 386 of file test_ignore_gse.py.

References _model().

Variable Documentation

◆ DRAWING

str test_ignore_gse.DRAWING = HERE / "fixtures" / "le4_rocket_and_gse.json"

Definition at line 29 of file test_ignore_gse.py.

◆ HERE

test_ignore_gse.HERE = Path(__file__).resolve().parent

Definition at line 28 of file test_ignore_gse.py.

◆ needs_tables

test_ignore_gse.needs_tables = pytest.mark.skipif(not TABLES.is_dir(), reason="no state machine tables")

Definition at line 34 of file test_ignore_gse.py.

◆ STAND

str test_ignore_gse.STAND = STAR / "feed-twin" / "backend" / "diagrams" / "ethalox_stand.json"

Definition at line 31 of file test_ignore_gse.py.

◆ STAR

test_ignore_gse.STAR = HERE.parents[2]

Definition at line 30 of file test_ignore_gse.py.

◆ TABLES

str test_ignore_gse.TABLES = STAR / "feed-twin" / "backend" / "statemachines"

Definition at line 32 of file test_ignore_gse.py.