diff --git a/.travis.yml b/.travis.yml index c8cce45baffdc1f9b984adfa9b6fc584a4df3168..6c870d8797671fca490c6fbae2d650066eee2780 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,6 +50,3 @@ services: - rabbitmq addons: postgresql: "9.3" - apt: - packages: - - sqlite3 diff --git a/activerecord/test/cases/relation_test.rb b/activerecord/test/cases/relation_test.rb index 24ed9e6638624976a5cbdd958fafbe107686e01e..37d3965022f276279ace0f0975d7b8e2fa964c9c 100644 --- a/activerecord/test/cases/relation_test.rb +++ b/activerecord/test/cases/relation_test.rb @@ -243,7 +243,13 @@ def test_respond_to_for_non_selected_element 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 @@ def test_update_all_goes_through_normal_type_casting 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