Skip to content

Instantly share code, notes, and snippets.

@jfirebaugh
Created February 18, 2012 03:02
Show Gist options
  • Save jfirebaugh/1857113 to your computer and use it in GitHub Desktop.
Save jfirebaugh/1857113 to your computer and use it in GitHub Desktop.
Testing mysql2 and pg gems on clang-compiled 1.9.3-p125
~/Development/mysql2 ♢ bundle install
Using rake (0.8.7)
Using i18n (0.6.0)
Using multi_json (1.0.4)
Using activesupport (3.2.1)
Using builder (3.0.0)
Using activemodel (3.2.1)
Using arel (3.0.0)
Using tzinfo (0.3.31)
Using activerecord (3.2.1)
Using addressable (2.2.6)
Using data_objects (0.10.8)
Using diff-lcs (1.1.3)
Using do_mysql (0.10.8)
Using eventmachine (0.12.10)
Using faker (1.0.1)
Using mysql (2.8.1)
Using mysql2 (0.3.11) from source at .
Using rake-compiler (0.7.9)
Using rspec-core (2.8.0)
Using rspec-expectations (2.8.0)
Using rspec-mocks (2.8.0)
Using rspec (2.8.0)
Using sequel (3.32.0)
Using bundler (1.1.rc.7)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
~/Development/mysql2 ♢ rake
rake-compiler must be configured first to enable cross-compilation
rake-compiler must be configured first to enable cross-compilation
mkdir -p tmp/x86_64-darwin11.3.0/mysql2/1.9.3
cd tmp/x86_64-darwin11.3.0/mysql2/1.9.3
/Users/john/.rvm/rubies/ruby-1.9.3-p125/bin/ruby -I. ../../../../ext/mysql2/extconf.rb
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
creating Makefile
cd -
cd tmp/x86_64-darwin11.3.0/mysql2/1.9.3
make
compiling ../../../../ext/mysql2/client.c
clang: warning: argument unused during compilation: '-ggdb'
compiling ../../../../ext/mysql2/mysql2_ext.c
clang: warning: argument unused during compilation: '-ggdb'
compiling ../../../../ext/mysql2/result.c
clang: warning: argument unused during compilation: '-ggdb'
linking shared-object mysql2/mysql2.bundle
cd -
install -c tmp/x86_64-darwin11.3.0/mysql2/1.9.3/mysql2.bundle lib/mysql2/mysql2.bundle
/Users/john/.rvm/rubies/ruby-1.9.3-p125/bin/ruby -S rspec ./spec/em/em_spec.rb ./spec/mysql2/client_spec.rb ./spec/mysql2/error_spec.rb ./spec/mysql2/result_spec.rb
Mysql2::EM::Client
should support async queries
should support queries in callbacks
Mysql2::Client
should raise an exception on create for invalid encodings
should accept connect flags and pass them to #connect
should default flags to (REMEMBER_OPTIONS, LONG_PASSWORD, LONG_FLAG, TRANSACTIONS, PROTOCOL_41, SECURE_CONNECTION)
should have a global default_query_options hash
should be able to connect via SSL options (PENDING: DON'T WORRY, THIS TEST PASSES :) - but is machine-specific. You need to have MySQL running with SSL configured and enabled. Then update the paths in this test to your needs and remove the pending state.)
should respond to #close
should be able to close properly
should respond to #query
should expect read_timeout to be a positive integer
should respond to #socket
should respond to escape
should respond to #escape
should respond to #info
#info should return a hash containing the client version ID and String
should respond to #server_info
#server_info should return a hash containing the client version ID and String
#server_info should require an open connection
should raise a Mysql2::Error exception upon connection failure
should respond to #thread_id
#thread_id should be a Fixnum
should respond to #ping
#thread_id should return a boolean
should respond to #encoding
#query
should let you query again if iterating is finished when streaming
should not let you query again if iterating is not finished when streaming
should only accept strings as the query parameter
should accept an options hash that inherits from Mysql2::Client.default_query_options
should return results as a hash by default
should be able to return results as an array
should be able to return results with symbolized keys
should require an open connection
should not allow another query to be sent without fetching a result first
should timeout if we wait longer than :read_timeout
should run signal handlers while waiting for a response
#socket should return a Fixnum (file descriptor from C)
#socket should require an open connection
should close the connection when an exception is raised
should handle Timeouts without leaving the connection hanging if reconnect is true
threaded queries should be supported
evented async queries should be supported
escape
should return a new SQL-escape version of the passed string
should return the passed string if nothing was escaped
should not overflow the thread stack
should not overflow the process stack
should carry over the original string's encoding
#escape
should return a new SQL-escape version of the passed string
should return the passed string if nothing was escaped
should not overflow the thread stack
should not overflow the process stack
should require an open connection
strings returned by #info
should default to the connection's encoding if Encoding.default_internal is nil
should use Encoding.default_internal
strings returned by #server_info
should default to the connection's encoding if Encoding.default_internal is nil
should use Encoding.default_internal
write operations api
should respond to #last_id
#last_id should return a Fixnum, the from the last INSERT/UPDATE
should respond to #last_id
#last_id should return a Fixnum, the from the last INSERT/UPDATE
Mysql2::Error
should respond to #error_number
should respond to #sql_state
should alias #error_number to #errno
should alias #message to #error
#message encoding should match the connection's encoding, or Encoding.default_internal if set
#error encoding should match the connection's encoding, or Encoding.default_internal if set
#sql_state encoding should match the connection's encoding, or Encoding.default_internal if set
Mysql2::Result
should have included Enumerable
should respond to #each
should raise a Mysql2::Error exception upon a bad query
should respond to #count, which is aliased as #size
should be able to return the number of rows in the result set
metadata queries
should show tables
#each
should yield rows as hash's
should yield rows as hash's with symbol keys if :symbolize_keys was set to true
should be able to return results as an array
should cache previously yielded results by default
should not cache previously yielded results if cache_rows is disabled
should yield different value for #first if streaming
should yield the same value for #first if streaming is disabled
should throw an exception if we try to iterate twice when streaming is enabled
#fields
method should exist
should return an array of field names in proper order
row data type mapping
should return nil values for NULL and strings for everything else when :cast is false
should return nil for a NULL value
should return Fixnum for a BIT value
should return Fixnum for a TINYINT value
should return TrueClass or FalseClass for a TINYINT value if :cast_booleans is enabled
should return Fixnum for a SMALLINT value
should return Fixnum for a MEDIUMINT value
should return Fixnum for an INT value
should return Fixnum for a BIGINT value
should return Fixnum for a YEAR value
should return BigDecimal for a DECIMAL value
should return Float for a FLOAT value
should return Float for a DOUBLE value
should return Time for a DATETIME value when within the supported range
should return Time when timestamp is < 1901-12-13 20:45:52
should return Time when timestamp is > 2038-01-19T03:14:07
should return Time for a TIMESTAMP value when within the supported range
should return Time for a TIME value
should return Date for a DATE value
should return String for an ENUM value
should return String for a SET value
should return String for a BINARY value
should return a String for CHAR
should return a String for VARCHAR
should return a String for VARBINARY
should return a String for TINYBLOB
should return a String for TINYTEXT
should return a String for BLOB
should return a String for TEXT
should return a String for MEDIUMBLOB
should return a String for MEDIUMTEXT
should return a String for LONGBLOB
should return a String for LONGTEXT
string encoding for ENUM values
should default to the connection's encoding if Encoding.default_internal is nil
should use Encoding.default_internal
string encoding for SET values
should default to the connection's encoding if Encoding.default_internal is nil
should use Encoding.default_internal
string encoding for BINARY values
should default to binary if Encoding.default_internal is nil
should not use Encoding.default_internal
string encoding for CHAR values
should default to utf-8 if Encoding.default_internal is nil
should use Encoding.default_internal
string encoding for VARCHAR values
should default to utf-8 if Encoding.default_internal is nil
should use Encoding.default_internal
string encoding for VARBINARY values
should default to binary if Encoding.default_internal is nil
should not use Encoding.default_internal
string encoding for TINYBLOB values
should default to binary if Encoding.default_internal is nil
should not use Encoding.default_internal
string encoding for TINYTEXT values
should default to utf-8 if Encoding.default_internal is nil
should use Encoding.default_internal
string encoding for BLOB values
should default to binary if Encoding.default_internal is nil
should not use Encoding.default_internal
string encoding for TEXT values
should default to utf-8 if Encoding.default_internal is nil
should use Encoding.default_internal
string encoding for MEDIUMBLOB values
should default to binary if Encoding.default_internal is nil
should not use Encoding.default_internal
string encoding for MEDIUMTEXT values
should default to utf-8 if Encoding.default_internal is nil
should use Encoding.default_internal
string encoding for LONGBLOB values
should default to binary if Encoding.default_internal is nil
should not use Encoding.default_internal
string encoding for LONGTEXT values
should default to utf-8 if Encoding.default_internal is nil
should use Encoding.default_internal
Pending:
Mysql2::Client should be able to connect via SSL options
# DON'T WORRY, THIS TEST PASSES :) - but is machine-specific. You need to have MySQL running with SSL configured and enabled. Then update the paths in this test to your needs and remove the pending state.
# ./spec/mysql2/client_spec.rb:50
Finished in 6.17 seconds
144 examples, 0 failures, 1 pending
~/Development/mysql2 ♢
~/Development/ruby-pg ♢ rake
/Users/john/Development/ruby-pg/Rakefile:29: Use RbConfig instead of obsolete and deprecated Config.
Cross-compilation disabled -- No MinGW tools or unknown setup platform?
rake-compiler must be configured first to enable cross-compilation
rake-compiler must be configured first to enable cross-compilation
mkdir -p tmp/x86_64-darwin11.3.0/pg_ext/1.9.3
cd tmp/x86_64-darwin11.3.0/pg_ext/1.9.3
/Users/john/.rvm/rubies/ruby-1.9.3-p125/bin/ruby -I. ../../../../ext/extconf.rb
checking for pg_config... yes
Using config values from /usr/local/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... yes
checking for PQconnectionUsedPassword()... yes
checking for PQisthreadsafe()... yes
checking for PQprepare()... yes
checking for PQexecParams()... yes
checking for PQescapeString()... yes
checking for PQescapeStringConn()... yes
checking for PQgetCancel()... yes
checking for lo_create()... yes
checking for pg_encoding_to_char()... yes
checking for pg_char_to_encoding()... yes
checking for PQsetClientEncoding()... yes
checking for rb_encdb_alias()... yes
checking for rb_enc_alias()... no
checking for struct pgNotify.extra in libpq-fe.h... yes
checking for unistd.h... yes
checking for ruby/st.h... yes
creating extconf.h
creating Makefile
cd -
cd tmp/x86_64-darwin11.3.0/pg_ext/1.9.3
make
compiling ../../../../ext/pg.c
clang: warning: argument unused during compilation: '-ggdb'
compiling ../../../../ext/pg_connection.c
clang: warning: argument unused during compilation: '-ggdb'
compiling ../../../../ext/pg_result.c
clang: warning: argument unused during compilation: '-ggdb'
linking shared-object pg_ext.bundle
cd -
install -c tmp/x86_64-darwin11.3.0/pg_ext/1.9.3/pg_ext.bundle lib/pg_ext.bundle
/Users/john/.rvm/rubies/ruby-1.9.3-p125/bin/ruby -S rspec ./spec/pg_spec.rb ./spec/pg/connection_spec.rb ./spec/pg/result_spec.rb -Ispec:lib
No pidfile (#<Pathname:/Users/john/Development/ruby-pg/tmp_test_specs/data/postmaster.pid>)
Setting up test database for PG_Connection tests
Creating the test DB
................................*..............*..Tearing down test database
No pidfile (#<Pathname:/Users/john/Development/ruby-pg/tmp_test_specs/data/postmaster.pid>)
Setting up test database for PG_Result tests
Creating the test DB
.........................Tearing down test database
Pending:
PG::Connection discards previous results (if any) before waiting on an #async_exec
# Not yet implemented
# ./spec/pg/connection_spec.rb:665
PG::Connection multinationalization support rubyforge #22925: m17n support works around the unsupported JOHAB encoding by returning stuff in 'ASCII_8BIT'
# figuring out how to create a string in the JOHAB encoding
# ./spec/pg/connection_spec.rb:747
Finished in 15.05 seconds
75 examples, 0 failures, 2 pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment