Commit 3095483e650ae4fc79ff5012117877e5734b75ee
1 parent
3784f134
Exists in
master
and in
4 other branches
Speed up the "Project Network Graph" cucumber feature
This change involves stubbing out the call to `Grit::Commit.find_all` and limiting the number of commits to 10 vs. the standard of 650 used by `Gitlab::GraphCommit.to_graph`. Prior to this change, this single feature required almost 3 minutes of running time and over 2 GB of memory on my machine. Now it takes less than 3 seconds.
Showing
3 changed files
with
11 additions
and
5 deletions
Show diff stats
features/projects/network.feature
| ... | ... | @@ -4,9 +4,7 @@ Feature: Project Network Graph |
| 4 | 4 | Background: |
| 5 | 5 | Given I signin as a user |
| 6 | 6 | And I own project "Shop" |
| 7 | - And I visit project "Shop" network page | |
| 7 | + And I visit project "Shop" network page | |
| 8 | 8 | |
| 9 | 9 | Scenario: I should see project network |
| 10 | 10 | Then page should have network graph |
| 11 | - | |
| 12 | - | ... | ... |
features/step_definitions/project/projects_steps.rb
| ... | ... | @@ -57,6 +57,11 @@ end |
| 57 | 57 | |
| 58 | 58 | Given /^I visit project "(.*?)" network page$/ do |arg1| |
| 59 | 59 | project = Project.find_by_name(arg1) |
| 60 | + | |
| 61 | + # Stub out find_all to speed this up (10 commits vs. 650) | |
| 62 | + commits = Grit::Commit.find_all(project.repo, nil, {max_count: 10}) | |
| 63 | + Grit::Commit.stub(:find_all).and_return(commits) | |
| 64 | + | |
| 60 | 65 | visit graph_project_path(project) |
| 61 | 66 | end |
| 62 | 67 | |
| ... | ... | @@ -67,8 +72,9 @@ end |
| 67 | 72 | Given /^page should have network graph$/ do |
| 68 | 73 | page.should have_content "Project Network Graph" |
| 69 | 74 | within ".graph" do |
| 70 | - page.should have_content "stable" | |
| 71 | - page.should have_content "notes_refacto..." | |
| 75 | + page.should have_content "master" | |
| 76 | + page.should have_content "github" | |
| 77 | + page.should have_content "scss_refactor..." | |
| 72 | 78 | end |
| 73 | 79 | end |
| 74 | 80 | ... | ... |
features/support/env.rb