################################# setup
require 'rbconfig'
ruby = RbConfig::CONFIG['ruby_install_name']
unless File.exists?('./ext/ffi_c/ffi_c.so')
  system("cd ext/ffi_c && #{ruby} extconf.rb && make") or raise("Failed building extension")
end
unless File.exists?('./build/libtest.so')
  system("make -f libtest/GNUmakefile") or raise("Failed building test library")
end

$LOAD_PATH << 'lib'
$LOAD_PATH << 'ext/ffi_c'

################################# actual test code
require 'ffi'

module LibTest
  extend FFI::Library
  ffi_lib './build/libtest.so'
  attach_function "pack_uLuLuL_s64", [:ulong, :ulong, :ulong, :buffer_out], :void
end

p = FFI::Buffer.new :long_long, 3
LibTest.pack_uLuLuL_s64(0xf7e8d9ca, 0xf7e8d9ca, 0xf7e8d9ca, p)
