Skip to content

Commit a8f250a

Browse files
committed
tests, railties tests should use bin/ executables when possible.
We recommend using the `bin/` executables in our docs and guides. Let's make sure that our tests execute the same code path.
1 parent 6c3fcc5 commit a8f250a

File tree

9 files changed

+121
-121
lines changed

9 files changed

+121
-121
lines changed

railties/test/application/asset_debugging_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def teardown
3636
test "assets are concatenated when debug is off and compile is off either if debug_assets param is provided" do
3737
# config.assets.debug and config.assets.compile are false for production environment
3838
ENV["RAILS_ENV"] = "production"
39-
output = Dir.chdir(app_path){ `bundle exec rake assets:precompile --trace 2>&1` }
39+
output = Dir.chdir(app_path){ `bin/rake assets:precompile --trace 2>&1` }
4040
assert $?.success?, output
4141
require "#{app_path}/config/environment"
4242

railties/test/application/assets_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def teardown
1818

1919
def precompile!(env = nil)
2020
quietly do
21-
precompile_task = "bundle exec rake assets:precompile #{env} --trace 2>&1"
21+
precompile_task = "bin/rake assets:precompile #{env} --trace 2>&1"
2222
output = Dir.chdir(app_path) { %x[ #{precompile_task} ] }
2323
assert $?.success?, output
2424
output
@@ -27,7 +27,7 @@ def precompile!(env = nil)
2727

2828
def clean_assets!
2929
quietly do
30-
assert Dir.chdir(app_path) { system('bundle exec rake assets:clobber') }
30+
assert Dir.chdir(app_path) { system('bin/rake assets:clobber') }
3131
end
3232
end
3333

railties/test/application/initializers/frameworks_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ def show
206206
test "use schema cache dump" do
207207
Dir.chdir(app_path) do
208208
`rails generate model post title:string;
209-
bundle exec rake db:migrate db:schema:cache:dump`
209+
bin/rake db:migrate db:schema:cache:dump`
210210
end
211211
require "#{app_path}/config/environment"
212212
ActiveRecord::Base.connection.drop_table("posts") # force drop posts table for test.
@@ -216,7 +216,7 @@ def show
216216
test "expire schema cache dump" do
217217
Dir.chdir(app_path) do
218218
`rails generate model post title:string;
219-
bundle exec rake db:migrate db:schema:cache:dump db:rollback`
219+
bin/rake db:migrate db:schema:cache:dump db:rollback`
220220
end
221221
silence_warnings {
222222
require "#{app_path}/config/environment"

railties/test/application/rake/dbs_test.rb

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ def set_database_url
2828

2929
def db_create_and_drop(expected_database)
3030
Dir.chdir(app_path) do
31-
output = `bundle exec rake db:create`
31+
output = `bin/rake db:create`
3232
assert_empty output
3333
assert File.exist?(expected_database)
3434
assert_equal expected_database, ActiveRecord::Base.connection_config[:database]
35-
output = `bundle exec rake db:drop`
35+
output = `bin/rake db:drop`
3636
assert_empty output
3737
assert !File.exist?(expected_database)
3838
end
@@ -51,9 +51,9 @@ def db_create_and_drop(expected_database)
5151

5252
def db_migrate_and_status(expected_database)
5353
Dir.chdir(app_path) do
54-
`rails generate model book title:string;
55-
bundle exec rake db:migrate`
56-
output = `bundle exec rake db:migrate:status`
54+
`bin/rails generate model book title:string;
55+
bin/rake db:migrate`
56+
output = `bin/rake db:migrate:status`
5757
assert_match(%r{database:\s+\S*#{Regexp.escape(expected_database)}}, output)
5858
assert_match(/up\s+\d{14}\s+Create books/, output)
5959
end
@@ -72,8 +72,8 @@ def db_migrate_and_status(expected_database)
7272

7373
def db_schema_dump
7474
Dir.chdir(app_path) do
75-
`rails generate model book title:string;
76-
rake db:migrate db:schema:dump`
75+
`bin/rails generate model book title:string;
76+
bin/rake db:migrate db:schema:dump`
7777
schema_dump = File.read("db/schema.rb")
7878
assert_match(/create_table \"books\"/, schema_dump)
7979
end
@@ -90,8 +90,8 @@ def db_schema_dump
9090

9191
def db_fixtures_load(expected_database)
9292
Dir.chdir(app_path) do
93-
`rails generate model book title:string;
94-
bundle exec rake db:migrate db:fixtures:load`
93+
`bin/rails generate model book title:string;
94+
bin/rake db:migrate db:fixtures:load`
9595
assert_match expected_database, ActiveRecord::Base.connection_config[:database]
9696
require "#{app_path}/app/models/book"
9797
assert_equal 2, Book.count
@@ -112,20 +112,20 @@ def db_fixtures_load(expected_database)
112112
test 'db:fixtures:load with namespaced fixture' do
113113
require "#{app_path}/config/environment"
114114
Dir.chdir(app_path) do
115-
`rails generate model admin::book title:string;
116-
bundle exec rake db:migrate db:fixtures:load`
115+
`bin/rails generate model admin::book title:string;
116+
bin/rake db:migrate db:fixtures:load`
117117
require "#{app_path}/app/models/admin/book"
118118
assert_equal 2, Admin::Book.count
119119
end
120120
end
121121

122122
def db_structure_dump_and_load(expected_database)
123123
Dir.chdir(app_path) do
124-
`rails generate model book title:string;
125-
bundle exec rake db:migrate db:structure:dump`
124+
`bin/rails generate model book title:string;
125+
bin/rake db:migrate db:structure:dump`
126126
structure_dump = File.read("db/structure.sql")
127127
assert_match(/CREATE TABLE \"books\"/, structure_dump)
128-
`bundle exec rake environment db:drop db:structure:load`
128+
`bin/rake environment db:drop db:structure:load`
129129
assert_match expected_database, ActiveRecord::Base.connection_config[:database]
130130
require "#{app_path}/app/models/book"
131131
#if structure is not loaded correctly, exception would be raised
@@ -147,9 +147,9 @@ def db_structure_dump_and_load(expected_database)
147147
test 'db:structure:dump does not dump schema information when no migrations are used' do
148148
Dir.chdir(app_path) do
149149
# create table without migrations
150-
`bundle exec rails runner 'ActiveRecord::Base.connection.create_table(:posts) {|t| t.string :title }'`
150+
`bin/rails runner 'ActiveRecord::Base.connection.create_table(:posts) {|t| t.string :title }'`
151151

152-
stderr_output = capture(:stderr) { `bundle exec rake db:structure:dump` }
152+
stderr_output = capture(:stderr) { `bin/rake db:structure:dump` }
153153
assert_empty stderr_output
154154
structure_dump = File.read("db/structure.sql")
155155
assert_match(/CREATE TABLE \"posts\"/, structure_dump)
@@ -211,8 +211,8 @@ def db_structure_dump_and_load(expected_database)
211211

212212
def db_test_load_structure
213213
Dir.chdir(app_path) do
214-
`rails generate model book title:string;
215-
bundle exec rake db:migrate db:structure:dump db:test:load_structure`
214+
`bin/rails generate model book title:string;
215+
bin/rake db:migrate db:structure:dump db:test:load_structure`
216216
ActiveRecord::Base.configurations = Rails.application.config.database_configuration
217217
ActiveRecord::Base.establish_connection :test
218218
require "#{app_path}/app/models/book"
@@ -248,7 +248,7 @@ def db_test_load_structure
248248
RUBY
249249

250250
Dir.chdir(app_path) do
251-
database_path = `bundle exec rake db:setup`
251+
database_path = `bin/rake db:setup`
252252
assert_equal "development.sqlite3", File.basename(database_path.strip)
253253
end
254254
ensure

railties/test/application/rake/migrations_test.rb

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,21 @@ def teardown
1515

1616
test 'running migrations with given scope' do
1717
Dir.chdir(app_path) do
18-
`rails generate model user username:string password:string`
18+
`bin/rails generate model user username:string password:string`
1919

2020
app_file "db/migrate/01_a_migration.bukkits.rb", <<-MIGRATION
2121
class AMigration < ActiveRecord::Migration
2222
end
2323
MIGRATION
2424

25-
output = `rake db:migrate SCOPE=bukkits`
25+
output = `bin/rake db:migrate SCOPE=bukkits`
2626
assert_no_match(/create_table\(:users\)/, output)
2727
assert_no_match(/CreateUsers/, output)
2828
assert_no_match(/add_column\(:users, :email, :string\)/, output)
2929

3030
assert_match(/AMigration: migrated/, output)
3131

32-
output = `rake db:migrate SCOPE=bukkits VERSION=0`
32+
output = `bin/rake db:migrate SCOPE=bukkits VERSION=0`
3333
assert_no_match(/drop_table\(:users\)/, output)
3434
assert_no_match(/CreateUsers/, output)
3535
assert_no_match(/remove_column\(:users, :email\)/, output)
@@ -40,16 +40,16 @@ class AMigration < ActiveRecord::Migration
4040

4141
test 'model and migration generator with change syntax' do
4242
Dir.chdir(app_path) do
43-
`rails generate model user username:string password:string;
44-
rails generate migration add_email_to_users email:string`
43+
`bin/rails generate model user username:string password:string;
44+
bin/rails generate migration add_email_to_users email:string`
4545

46-
output = `rake db:migrate`
46+
output = `bin/rake db:migrate`
4747
assert_match(/create_table\(:users\)/, output)
4848
assert_match(/CreateUsers: migrated/, output)
4949
assert_match(/add_column\(:users, :email, :string\)/, output)
5050
assert_match(/AddEmailToUsers: migrated/, output)
5151

52-
output = `rake db:rollback STEP=2`
52+
output = `bin/rake db:rollback STEP=2`
5353
assert_match(/drop_table\(:users\)/, output)
5454
assert_match(/CreateUsers: reverted/, output)
5555
assert_match(/remove_column\(:users, :email, :string\)/, output)
@@ -58,23 +58,23 @@ class AMigration < ActiveRecord::Migration
5858
end
5959

6060
test 'migration status when schema migrations table is not present' do
61-
output = Dir.chdir(app_path){ `rake db:migrate:status 2>&1` }
61+
output = Dir.chdir(app_path){ `bin/rake db:migrate:status 2>&1` }
6262
assert_equal "Schema migrations table does not exist yet.\n", output
6363
end
6464

6565
test 'test migration status' do
6666
Dir.chdir(app_path) do
67-
`rails generate model user username:string password:string;
68-
rails generate migration add_email_to_users email:string;
69-
rake db:migrate`
67+
`bin/rails generate model user username:string password:string;
68+
bin/rails generate migration add_email_to_users email:string;
69+
bin/rake db:migrate`
7070

71-
output = `rake db:migrate:status`
71+
output = `bin/rake db:migrate:status`
7272

7373
assert_match(/up\s+\d{14}\s+Create users/, output)
7474
assert_match(/up\s+\d{14}\s+Add email to users/, output)
7575

76-
`rake db:rollback STEP=1`
77-
output = `rake db:migrate:status`
76+
`bin/rake db:rollback STEP=1`
77+
output = `bin/rake db:migrate:status`
7878

7979
assert_match(/up\s+\d{14}\s+Create users/, output)
8080
assert_match(/down\s+\d{14}\s+Add email to users/, output)
@@ -85,17 +85,17 @@ class AMigration < ActiveRecord::Migration
8585
add_to_config('config.active_record.timestamped_migrations = false')
8686

8787
Dir.chdir(app_path) do
88-
`rails generate model user username:string password:string;
89-
rails generate migration add_email_to_users email:string;
90-
rake db:migrate`
88+
`bin/rails generate model user username:string password:string;
89+
bin/rails generate migration add_email_to_users email:string;
90+
bin/rake db:migrate`
9191

92-
output = `rake db:migrate:status`
92+
output = `bin/rake db:migrate:status`
9393

9494
assert_match(/up\s+\d{3,}\s+Create users/, output)
9595
assert_match(/up\s+\d{3,}\s+Add email to users/, output)
9696

97-
`rake db:rollback STEP=1`
98-
output = `rake db:migrate:status`
97+
`bin/rake db:rollback STEP=1`
98+
output = `bin/rake db:migrate:status`
9999

100100
assert_match(/up\s+\d{3,}\s+Create users/, output)
101101
assert_match(/down\s+\d{3,}\s+Add email to users/, output)
@@ -104,23 +104,23 @@ class AMigration < ActiveRecord::Migration
104104

105105
test 'test migration status after rollback and redo' do
106106
Dir.chdir(app_path) do
107-
`rails generate model user username:string password:string;
108-
rails generate migration add_email_to_users email:string;
109-
rake db:migrate`
107+
`bin/rails generate model user username:string password:string;
108+
bin/rails generate migration add_email_to_users email:string;
109+
bin/rake db:migrate`
110110

111-
output = `rake db:migrate:status`
111+
output = `bin/rake db:migrate:status`
112112

113113
assert_match(/up\s+\d{14}\s+Create users/, output)
114114
assert_match(/up\s+\d{14}\s+Add email to users/, output)
115115

116-
`rake db:rollback STEP=2`
117-
output = `rake db:migrate:status`
116+
`bin/rake db:rollback STEP=2`
117+
output = `bin/rake db:migrate:status`
118118

119119
assert_match(/down\s+\d{14}\s+Create users/, output)
120120
assert_match(/down\s+\d{14}\s+Add email to users/, output)
121121

122-
`rake db:migrate:redo`
123-
output = `rake db:migrate:status`
122+
`bin/rake db:migrate:redo`
123+
output = `bin/rake db:migrate:status`
124124

125125
assert_match(/up\s+\d{14}\s+Create users/, output)
126126
assert_match(/up\s+\d{14}\s+Add email to users/, output)
@@ -131,23 +131,23 @@ class AMigration < ActiveRecord::Migration
131131
add_to_config('config.active_record.timestamped_migrations = false')
132132

133133
Dir.chdir(app_path) do
134-
`rails generate model user username:string password:string;
135-
rails generate migration add_email_to_users email:string;
136-
rake db:migrate`
134+
`bin/rails generate model user username:string password:string;
135+
bin/rails generate migration add_email_to_users email:string;
136+
bin/rake db:migrate`
137137

138-
output = `rake db:migrate:status`
138+
output = `bin/rake db:migrate:status`
139139

140140
assert_match(/up\s+\d{3,}\s+Create users/, output)
141141
assert_match(/up\s+\d{3,}\s+Add email to users/, output)
142142

143-
`rake db:rollback STEP=2`
144-
output = `rake db:migrate:status`
143+
`bin/rake db:rollback STEP=2`
144+
output = `bin/rake db:migrate:status`
145145

146146
assert_match(/down\s+\d{3,}\s+Create users/, output)
147147
assert_match(/down\s+\d{3,}\s+Add email to users/, output)
148148

149-
`rake db:migrate:redo`
150-
output = `rake db:migrate:status`
149+
`bin/rake db:migrate:redo`
150+
output = `bin/rake db:migrate:status`
151151

152152
assert_match(/up\s+\d{3,}\s+Create users/, output)
153153
assert_match(/up\s+\d{3,}\s+Add email to users/, output)
@@ -158,17 +158,17 @@ class AMigration < ActiveRecord::Migration
158158
add_to_config('config.active_record.dump_schema_after_migration = false')
159159

160160
Dir.chdir(app_path) do
161-
`rails generate model book title:string;
162-
bundle exec rake db:migrate`
161+
`bin/rails generate model book title:string;
162+
bin/rake db:migrate`
163163

164164
assert !File.exist?("db/schema.rb")
165165
end
166166

167167
add_to_config('config.active_record.dump_schema_after_migration = true')
168168

169169
Dir.chdir(app_path) do
170-
`rails generate model author name:string;
171-
bundle exec rake db:migrate`
170+
`bin/rails generate model author name:string;
171+
bin/rake db:migrate`
172172

173173
structure_dump = File.read("db/schema.rb")
174174
assert_match(/create_table "authors"/, structure_dump)
@@ -177,8 +177,8 @@ class AMigration < ActiveRecord::Migration
177177

178178
test 'default schema generation after migration' do
179179
Dir.chdir(app_path) do
180-
`rails generate model book title:string;
181-
bundle exec rake db:migrate`
180+
`bin/rails generate model book title:string;
181+
bin/rake db:migrate`
182182

183183
structure_dump = File.read("db/schema.rb")
184184
assert_match(/create_table "books"/, structure_dump)
@@ -187,12 +187,12 @@ class AMigration < ActiveRecord::Migration
187187

188188
test 'test migration status migrated file is deleted' do
189189
Dir.chdir(app_path) do
190-
`rails generate model user username:string password:string;
191-
rails generate migration add_email_to_users email:string;
192-
rake db:migrate
190+
`bin/rails generate model user username:string password:string;
191+
bin/rails generate migration add_email_to_users email:string;
192+
bin/rake db:migrate
193193
rm db/migrate/*email*.rb`
194194

195-
output = `rake db:migrate:status`
195+
output = `bin/rake db:migrate:status`
196196
File.write('test.txt', output)
197197

198198
assert_match(/up\s+\d{14}\s+Create users/, output)

railties/test/application/rake/notes_test.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def teardown
7474

7575
app_file "some_other_dir/blah.rb", "# TODO: note in some_other directory"
7676

77-
run_rake_notes "SOURCE_ANNOTATION_DIRECTORIES='some_other_dir' bundle exec rake notes" do |output, lines|
77+
run_rake_notes "SOURCE_ANNOTATION_DIRECTORIES='some_other_dir' bin/rake notes" do |output, lines|
7878
assert_match(/note in app directory/, output)
7979
assert_match(/note in config directory/, output)
8080
assert_match(/note in db directory/, output)
@@ -102,7 +102,7 @@ def teardown
102102
end
103103
EOS
104104

105-
run_rake_notes "bundle exec rake notes_custom" do |output, lines|
105+
run_rake_notes "bin/rake notes_custom" do |output, lines|
106106
assert_match(/\[FIXME\] note in lib directory/, output)
107107
assert_match(/\[TODO\] note in test directory/, output)
108108
assert_no_match(/OPTIMIZE/, output)
@@ -127,7 +127,7 @@ def teardown
127127

128128
private
129129

130-
def run_rake_notes(command = 'bundle exec rake notes')
130+
def run_rake_notes(command = 'bin/rake notes')
131131
boot_rails
132132
load_tasks
133133

0 commit comments

Comments
 (0)