Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: 7.1.0 testing protocols #14135

Merged
merged 31 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
6d04d59
test: add testing protocols for deck configuration
DerekMaggio Dec 7, 2023
fe568d8
chore: formatting
DerekMaggio Dec 7, 2023
e2ef8ac
chore: fix tip rack adapters and add better var names
DerekMaggio Dec 8, 2023
a4cf6e8
test: smoke init
DerekMaggio Dec 8, 2023
92833d8
chore: formatting
DerekMaggio Dec 8, 2023
3200e27
test: add mega protocol (WIP)
DerekMaggio Dec 8, 2023
18478e2
test: rework to support partial tip
DerekMaggio Dec 11, 2023
a662255
test: Add module usage
DerekMaggio Dec 12, 2023
19d6e0e
chore: docs
DerekMaggio Dec 12, 2023
e0a4158
chore: cleanup constants
DerekMaggio Dec 12, 2023
91883ec
chore: formatting
DerekMaggio Dec 12, 2023
5dc16d0
chore: remove smoke protocol
DerekMaggio Dec 12, 2023
ea18fa4
Merge remote-tracking branch 'origin/chore_release-7.1.0' into 7.1.0_…
DerekMaggio Dec 12, 2023
4b0f46a
test: start adding failure cases
DerekMaggio Dec 12, 2023
7ee3812
chore: copy and pasted wrong
DerekMaggio Dec 12, 2023
bba59da
test: add more failure cases
DerekMaggio Dec 13, 2023
695ebc7
chore: include used protocol
DerekMaggio Dec 14, 2023
c3c7e70
fix: still close out error popout if assertion error
DerekMaggio Dec 15, 2023
6ae10df
chore: Add 2.16 Smoke
DerekMaggio Dec 15, 2023
5a93af9
chore: Add more failure cases
DerekMaggio Dec 18, 2023
78349d5
chore: add air gap back in to smoke
DerekMaggio Dec 18, 2023
3a08664
chore: add blowout to trash bin
DerekMaggio Dec 18, 2023
ff3dd45
chore: add checking for extra protocols to print protocols script
DerekMaggio Dec 21, 2023
a101d10
feat: add support for expected test failure
DerekMaggio Dec 21, 2023
23e4af0
chore: type ignore pytest.param weirdness
DerekMaggio Dec 21, 2023
68bf38c
chore: add protocol to test volume=0 in aspirate, mix, dispense methods
DerekMaggio Dec 21, 2023
de56f47
chore: minor protocol cleanup
DerekMaggio Dec 21, 2023
c71723a
test: Add new protocol tests
DerekMaggio Dec 21, 2023
5fd257e
test: more tests
DerekMaggio Dec 21, 2023
a28ee27
chore: misc
DerekMaggio Dec 21, 2023
0c339a6
chore: clean up control flow
DerekMaggio Dec 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions app-testing/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ format:
test-ci:
pipenv run python -m pytest -m "emulated_alpha"

.PHONY: test-protocol-analysis
test-protocol-analysis:
pipenv run python -m pytest -v tests/protocol_analyze_test.py

.PHONY: setup
setup:
pipenv install
Expand Down
2 changes: 2 additions & 0 deletions app-testing/automation/data/protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ class Protocol(BaseModel):
instruments: Optional[list[str]] = Field(description="list of instruments that will show in the app", default=None)
modules: Optional[list[module_types]] = Field(description="list of modules that will show in the app", default=None)
description: Optional[str] = Field(description="Details about this protocol", default=None)
expected_test_failure: bool = Field(description="Is this test expected to fail", default=False)
expected_test_reason: Optional[str] = Field(description="Reason test is failing", default=False)

@property
def file_path(self) -> Path:
Expand Down
34 changes: 27 additions & 7 deletions app-testing/automation/data/protocol_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,60 @@
from typing import Literal

names = Literal[
"OT2_None_None_2_12_Python310SyntaxRobotAnalysisOnlyError",
"OT2_None_None_2_13_PythonSyntaxError",
"OT2_P1000SLeft_None_6_1_SimpleTransfer",
"OT2_P10S_P300M_TC1_TM_MM_2_11_Swift",
"OT2_P20S_None_2_7_Walkthrough",
"OT2_P20S_P300M_HS_6_1_HS_WithCollision_Error",
"OT2_P20S_P300M_NoMods_6_1_TransferReTransferLiquid",
"OT2_P20SRight_None_6_1_SimpleTransferError",
"OT2_P300M_P20S_2_16_aspirateDispenseMix0Volume",
"OT2_P300M_P20S_HS_6_1_Smoke620release",
"OT2_P300M_P20S_MM_HS_TD_TC_6_1_AllMods_Error",
"OT2_P300M_P20S_MM_TM_TC1_5_2_6_PD40",
"OT2_P300M_P20S_MM_TM_TC1_5_2_6_PD40Error",
"OT2_P300M_P20S_NoMod_6_1_MixTransferManyLiquids",
"OT2_P300M_P300S_HS_6_1_HS_NormalUseWithTransfer",
"OT2_P300SG1_None_5_2_6_Gen1PipetteSimple",
"OT2_P300SLeft_MM_TM_TM_5_2_6_MOAMTemps",
"OT2_None_None_2_12_Python310SyntaxRobotAnalysisOnlyError",
"OT2_None_None_2_13_PythonSyntaxError",
"OT2_P10S_P300M_TC1_TM_MM_2_11_Swift",
"OT2_P20S_None_2_7_Walkthrough",
"OT2_P300M_P20S_None_2_12_FailOnRun",
"OT2_P300M_P20S_TC_HS_TM_2_13_SmokeTestV3",
"OT2_P300M_P20S_TC_HS_TM_2_14_SmokeTestV3",
"OT2_P300M_P20S_TC_HS_TM_2_15_SmokeTestV3",
"OT2_P300M_P20S_TC_HS_TM_2_16_SmokeTestV3",
"OT2_P300M_P20S_TC_MM_TM_2_13_Smoke620Release",
"OT2_P300M_P300S_HS_6_1_HS_NormalUseWithTransfer",
"OT2_P300MLeft_MM_TM_2_4_Zymo",
"OT2_P300S_Thermocycler_Moam_Error",
"OT2_P300S_Twinning_Error",
"OT2_P300SG1_None_5_2_6_Gen1PipetteSimple",
"OT2_P300SLeft_MM_TM_TM_5_2_6_MOAMTemps",
"OT2_P300SLeft_MM1_MM_2_2_EngageMagHeightFromBase",
"OT2_P300SLeft_MM1_MM_TM_2_3_Mix",
"OT3_None_None_2_16_AnalysisError_AccessToFixedTrashProp",
"OT3_None_None_2_16_AnalysisError_TrashBinInCol2",
"OT3_None_None_2_16_AnalysisError_TrashBinInStagingAreaCol3",
"OT3_None_None_2_16_AnalysisError_TrashBinInStagingAreaCol4",
"OT3_None_None_MM_2_16_AnalysisError_MagneticModuleInFlexProtocol",
"OT3_None_None_TM_2_16_AnalysisError_ModuleInStagingAreaCol3",
"OT3_None_None_TM_2_16_AnalysisError_ModuleInStagingAreaCol4",
"OT3_None_None_TM_2_16_AnalysisError_ModuleInCol2",
"OT3_P100_96_HS_TM_2_15_Quick_Zymo_RNA_Bacteria",
"OT3_P1000_96_2_16_AnalysisError_DropTipsWithNoTrash",
"OT3_P1000_96_GRIPPER_2_16_AnalysisError_DropLabwareIntoTrashBin",
"OT3_P1000_96_GRIPPER_HS_TM_TC_MB_2_16_DeckConfiguration1_NoFixtures",
"OT3_P1000_96_GRIPPER_HS_TM_TC_MB_2_16_DeckConfiguration1_NoModules",
"OT3_P1000_96_GRIPPER_HS_TM_TC_MB_2_16_DeckConfiguration1_NoModulesNoFixtures",
"OT3_P1000_96_GRIPPER_HS_TM_TC_MB_2_16_DeckConfiguration1",
"OT3_P1000_96_GRIPPER_HS_TM_TC_MB_2_16_Smoke",
"OT3_P1000_96_HS_TM_MM_2_15_ABR5_6_HDQ_Bacteria_ParkTips_96_channel",
"OT3_P1000_96_HS_TM_MM_2_15_MagMaxRNACells96Ch",
"OT3_P1000_96_HS_TM_TC_MM_2_15_ABR5_6_Illumina_DNA_Prep_96x_Head_PART_III",
"OT3_P1000_96_None_2_15_ABR5_6_IDT_xGen_EZ_96x_Head_PART_I_III_ABR",
"OT3_P1000_96_None_2_16_AnalysisError_TrashBinInStagingAreaCol3",
"OT3_P1000_96_TM_2_16_AnalysisError_ModuleAndWasteChuteConflict",
"OT3_P1000MLeft_P50MRight_HS_MM_TC_TM_2_15_ABR3_Illumina_DNA_Enrichment_v4",
"OT3_P1000MLeft_P50MRight_HS_MM_TC_TM_2_15_ABR3_Illumina_DNA_Enrichment",
"OT3_P1000MLeft_P50MRight_HS_TM_MM_TC_2_15_ABR4_Illumina_DNA_Prep_24x",
"OT3_P1000SRight_None_2_15_ABR_Simple_Normalize_Long_Right",
"OT3_P300Gen2_None_2_16_AnalysisError_OT2PipetteInFlexProtocol",
"OT3_P50MLeft_P1000MRight_None_2_15_ABRKAPALibraryQuantLongv2",
]
Loading