Skip test that fails from outdated sqlite3 on travis

This commit is contained in:
Sean Griffin 2015-06-02 07:29:44 -06:00
parent de412eed58
commit b6b13905e5
2 changed files with 9 additions and 10 deletions

View File

@ -50,6 +50,3 @@ services:
- rabbitmq
addons:
postgresql: "9.3"
apt:
packages:
- sqlite3

View File

@ -243,7 +243,13 @@ module ActiveRecord
end
def test_select_quotes_when_using_from_clause
ensure_sqlite3_version_doesnt_include_bug
if sqlite3_version_includes_quoting_bug?
skip <<-ERROR.squish
You are using an outdated version of SQLite3 which has a bug in
quoted column names. Please update SQLite3 and rebuild the sqlite3
ruby gem
ERROR
end
quoted_join = ActiveRecord::Base.connection.quote_table_name("join")
selected = Post.select(:join).from(Post.select("id as #{quoted_join}")).map(&:join)
assert_equal Post.pluck(:id), selected
@ -286,16 +292,12 @@ module ActiveRecord
private
def ensure_sqlite3_version_doesnt_include_bug
def sqlite3_version_includes_quoting_bug?
if current_adapter?(:SQLite3Adapter)
selected_quoted_column_names = ActiveRecord::Base.connection.exec_query(
'SELECT "join" FROM (SELECT id AS "join" FROM posts) subquery'
).columns
assert_equal ["join"], selected_quoted_column_names, <<-ERROR.squish
You are using an outdated version of SQLite3 which has a bug in
quoted column names. Please update SQLite3 and rebuild the sqlite3
ruby gem
ERROR
["join"] != selected_quoted_column_names
end
end
end