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,9 +4,7 @@ Feature: Project Network Graph | ||
4 | Background: | 4 | Background: |
5 | Given I signin as a user | 5 | Given I signin as a user |
6 | And I own project "Shop" | 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 | Scenario: I should see project network | 9 | Scenario: I should see project network |
10 | Then page should have network graph | 10 | Then page should have network graph |
11 | - | ||
12 | - |
features/step_definitions/project/projects_steps.rb
@@ -57,6 +57,11 @@ end | @@ -57,6 +57,11 @@ end | ||
57 | 57 | ||
58 | Given /^I visit project "(.*?)" network page$/ do |arg1| | 58 | Given /^I visit project "(.*?)" network page$/ do |arg1| |
59 | project = Project.find_by_name(arg1) | 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 | visit graph_project_path(project) | 65 | visit graph_project_path(project) |
61 | end | 66 | end |
62 | 67 | ||
@@ -67,8 +72,9 @@ end | @@ -67,8 +72,9 @@ end | ||
67 | Given /^page should have network graph$/ do | 72 | Given /^page should have network graph$/ do |
68 | page.should have_content "Project Network Graph" | 73 | page.should have_content "Project Network Graph" |
69 | within ".graph" do | 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 | end | 78 | end |
73 | end | 79 | end |
74 | 80 |
features/support/env.rb