Flaky specs in save_designs_service_spec.rb
While hunting down other flaky specs, I ran across ones in spec/services/design_management/save_designs_service_spec.rb
.
I am able to recreate with
rspec ./spec/services/design_management/save_designs_service_spec.rb --seed 54882
Using bisect
as talked about in https://docs.gitlab.com/ee/development/testing_guide/unhealthy_tests.html#how-to-reproduce-a-flaky-test-locally,
rspec ./spec/services/design_management/save_designs_service_spec.rb --seed 54882 --bisect
I get a minimal recreation
rspec './spec/services/design_management/save_designs_service_spec.rb[1:1:2:4,1:1:2:5:1:1,1:1:2:7:1,1:1:2:10:2,1:1:2:12:1,1:1:2:13:4:1,1:1:2:15:1:1:1,1:1:2:15:2:1:1,1:1:2:16:1,1:1:2:17:1]' --seed 54882
Failures are:
rspec ./spec/services/design_management/save_designs_service_spec.rb:135 # DesignManagement::SaveDesignsService#execute when the feature is available can run the same command in parallel
rspec ./spec/services/design_management/save_designs_service_spec.rb:439 # DesignManagement::SaveDesignsService#execute when the feature is available when a design already existed in the repo but we didn't know about it in the database creates the design and a new version for it
rspec ./spec/services/design_management/save_designs_service_spec.rb:168 # DesignManagement::SaveDesignsService#execute when the feature is available the response includes designs with the expected properties
rspec './spec/services/design_management/save_designs_service_spec.rb[1:1:2:15:2:1:1]' # DesignManagement::SaveDesignsService#execute when the feature is available failure modes when creating the versions fails behaves like a service error returns an error
rspec ./spec/services/design_management/save_designs_service_spec.rb:69 # DesignManagement::SaveDesignsService#execute when the feature is available failure modes when creating the commit fails behaves like an execution error returns an error
rspec ./spec/services/design_management/save_designs_service_spec.rb:307 # DesignManagement::SaveDesignsService#execute when the feature is available when doing a mixture of updates and creations has the correct side-effects
rspec ./spec/services/design_management/save_designs_service_spec.rb:226 # DesignManagement::SaveDesignsService#execute when the feature is available when a design is being updated tracks internal events and increments usage metrics
Edited by Brett Walker