From 982665aafa36aa7ca900f6ccc6fd4142637805ca Mon Sep 17 00:00:00 2001 From: Dan Hirsch <thequux@upstandinghackers.com> Date: Sat, 11 Jan 2014 04:27:40 +0100 Subject: [PATCH] Got travis working, fixed ruby 1.9.3 compatibility --- .travis.yml | 38 ++++++++++++++++---------- src/bindings/ruby/Gemfile | 1 + src/bindings/ruby/SConscript | 6 +++- src/bindings/ruby/lib/hammer/parser.rb | 4 +-- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index dddf7601..e483b5ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,30 @@ env: - BINDINGS=none matrix: include: + - compiler: gcc + language: ruby + rvm: ruby-1.9.3-p484 + env: BINDINGS=ruby + - compiler: clang + language: ruby + rvm: ruby-1.9.3-p484 + env: BINDINGS=ruby CC=clang + - compiler: gcc + language: ruby + rvm: ruby-2.0.0-p353 + env: BINDINGS=ruby + - compiler: clang + language: ruby + rvm: ruby-2.0.0-p353 + env: BINDINGS=ruby CC=clang + - compiler: gcc + language: ruby + rvm: ruby-2.1.0 + env: BINDINGS=ruby + - compiler: clang + language: ruby + rvm: ruby-2.1.0 + env: BINDINGS=ruby CC=clang - compiler: gcc language: python python: "2.7" @@ -60,20 +84,6 @@ matrix: - compiler: clang language: dotnet env: BINDINGS=dotnet CC=clang - - compiler: gcc - language: ruby - rvm: - - ruby-1.9.3-p484 - - ruby-2.0.0-p353 - - ruby-2.1.0 - env: BINDINGS=ruby - - compiler: clang - language: ruby - rvm: - - ruby-1.9.3-p484 - - ruby-2.0.0-p353 - - ruby-2.1.0 - env: BINDINGS=ruby CC=clang before_install: - sudo apt-get update -qq - if [ "$BINDINGS" != "none" ]; then sudo apt-get install -qq swig; fi diff --git a/src/bindings/ruby/Gemfile b/src/bindings/ruby/Gemfile index df428143..c5029fc9 100644 --- a/src/bindings/ruby/Gemfile +++ b/src/bindings/ruby/Gemfile @@ -4,4 +4,5 @@ gemspec group :test do gem 'minitest', '~> 5.2' + gem 'rake', '>10' end diff --git a/src/bindings/ruby/SConscript b/src/bindings/ruby/SConscript index 290eb168..6d85a932 100644 --- a/src/bindings/ruby/SConscript +++ b/src/bindings/ruby/SConscript @@ -9,11 +9,15 @@ rubysources = [ "hammer-parser.gemspec", "Rakefile", "Gemfile", - "Gemfile.lock", "README.md", ] rubyenv = env.Clone() + +for k,v in os.environ.items(): + if "RUBY" in k or "GEM" in k or "rvm" in k: + rubyenv['ENV'][k] = v + rubyenv['ENV']['LD_LIBRARY_PATH'] = os.path.dirname(str(libhammer_shared[0])) rubyenv['RBDIR'] = os.path.dirname(str(rubyenv.File("Gemfile").path)) diff --git a/src/bindings/ruby/lib/hammer/parser.rb b/src/bindings/ruby/lib/hammer/parser.rb index 3a11d2ec..d1177c57 100644 --- a/src/bindings/ruby/lib/hammer/parser.rb +++ b/src/bindings/ruby/lib/hammer/parser.rb @@ -113,8 +113,8 @@ module Hammer def self.marshal_ch_arg(num) if num.is_a?(String) - raise ArgumentError, "Expecting either a fixnum in 0..255 or a single-byte String" unless num.bytes.length == 1 - num = num.bytes[0] + raise ArgumentError, "Expecting either a fixnum in 0..255 or a single-byte String" unless num.bytesize == 1 + num = num.bytes.first end raise ArgumentError, 'Expecting a Fixnum in 0..255 or a single-byte String' unless num.is_a?(Fixnum) and num.between?(0, 255) return num -- GitLab