As sqlite3-ruby has a few test to test the native swig interface, I've modified the ebuild to execute them with FEATURES=test. I'm attaching a flexmock-0.0.3 ebuild (slotted 0.0, the latest version is 0.6.0, they don't collide), and together with that a patch to sqlite3-ruby with a simple src_test. Please note that tests fail for me on both ~x86-fbsd and ~amd64, and they are likely upstream bugs: 1) Failure: test_busy_timeout(Integration::TC_Database_Native) [./tc_integration.rb:593]: <false> is not true. this happens on both machines 2) Error: test_bind_param_with_various_types(Integration::TC_Statement_Native): RangeError: integer 68719476735 too big to convert to `int' ./../lib/sqlite3/driver/native/driver.rb:194:in `sqlite3_bind_int' ./../lib/sqlite3/driver/native/driver.rb:194:in `send' ./../lib/sqlite3/driver/native/driver.rb:194:in `bind_int' ../lib/sqlite3/statement.rb:125:in `bind_param' ../lib/sqlite3/statement.rb:106:in `bind_params' ../lib/sqlite3/statement.rb:102:in `each' ../lib/sqlite3/statement.rb:102:in `bind_params' ../lib/sqlite3/statement.rb:162:in `execute' ../lib/sqlite3/database.rb:212:in `execute' ../lib/sqlite3/database.rb:187:in `prepare' ../lib/sqlite3/database.rb:211:in `execute' ./tc_integration.rb:765:in `test_bind_param_with_various_types' this instead happens on amd64; it might be worth to test it on other 64-bit arches as it does seem like a 64-bit problem. HTH, Diego
Created attachment 120190 [details, diff] Ebuild patch
Created attachment 120192 [details] flexmock-0.0.3.ebuild
Forgot to say that my sqlite3-ruby ebuild patch also fixes the runtime dependency over swig that shouldn't be there (swig is just a build tool).
Thanks I've got both updates in my overlay now, what version of sqlite were you using? I have no problems with the tests on x86 with 3.3.12, on my amd64 I don't get the failure but do get the error. I'll commit to gentoo-x86 once I've had time to look at what's causing the error.
dev-db/sqlite-3.3.17 on both Linux and FreeBSD (~arch versions). The error is scarier as it seems like 32/64 bit variables are messed.
Ok, with that version of sqlite I get the timeout with x86 and a segfault on an amd64. In case it's important, what version of swig did you use? I had 1.3.31 on the amd64
dev-lang/swig-1.3.31 on both boxes.
What version of ruby are you using on your amd64? The Error is caused by bind_param assuming that a FixNum is the same size as an int.
dev-lang/ruby-1.8.6-r1 on all my systems.
This whole things is so old that it's not funny any more, the new sqlite3-ruby ebuild using fakegem has the tests, and they fail.