diff --git a/MySQLDockerfile b/MySQLDockerfile index e922dc0c69..5ba9b845af 100644 --- a/MySQLDockerfile +++ b/MySQLDockerfile @@ -4,7 +4,7 @@ ENV DEBIAN_FRONTEND=noninteractive RUN apt update -y RUN apt install -y software-properties-common -# install python, libmysqlclient-dev, java, bats +# install python, libmysqlclient-dev, java, bats, git ruby, perl, cpan RUN add-apt-repository ppa:deadsnakes/ppa -y RUN apt update -y RUN apt install -y \ @@ -24,7 +24,9 @@ RUN apt install -y \ cmake \ g++ \ libmysqlcppconn-dev \ - git + git \ + ruby\ + gem # install go WORKDIR /root @@ -83,5 +85,10 @@ RUN npm install # install cpan dependencies RUN cpanm DBD::mysql +# install ruby dependencies +WORKDIR /mysql-client-tests/ruby +RUN gem install bundler +RUN bundle install + WORKDIR /mysql-client-tests ENTRYPOINT ["/mysql-client-tests/entrypoint.sh"] diff --git a/mysql-client-tests/mysql-client-tests.bats b/mysql-client-tests/mysql-client-tests.bats index 8ff609d15a..fac42b5e79 100644 --- a/mysql-client-tests/mysql-client-tests.bats +++ b/mysql-client-tests/mysql-client-tests.bats @@ -85,3 +85,7 @@ cmake .. @test "perl DBD:mysql client" { perl $BATS_TEST_DIRNAME/perl/dbd-mysql-test.pl $USER $PORT $REPO_NAME } + +@test "ruby ruby/mysql test" { + ruby $BATS_TEST_DIRNAME/ruby/ruby-mysql-test.rb $USER $PORT $REPO_NAME +} diff --git a/mysql-client-tests/ruby/Gemfile b/mysql-client-tests/ruby/Gemfile new file mode 100644 index 0000000000..dc16b4631f --- /dev/null +++ b/mysql-client-tests/ruby/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'ruby-mysql', '~> 2.9', '>= 2.9.14' diff --git a/mysql-client-tests/ruby/Gemfile.lock b/mysql-client-tests/ruby/Gemfile.lock new file mode 100644 index 0000000000..3ba0884177 --- /dev/null +++ b/mysql-client-tests/ruby/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + ruby-mysql (2.9.14) + +PLATFORMS + ruby + +DEPENDENCIES + ruby-mysql (~> 2.9, >= 2.9.14) + +BUNDLED WITH + 2.1.4 diff --git a/mysql-client-tests/ruby/ruby-mysql-test.rb b/mysql-client-tests/ruby/ruby-mysql-test.rb new file mode 100644 index 0000000000..62ccf9507c --- /dev/null +++ b/mysql-client-tests/ruby/ruby-mysql-test.rb @@ -0,0 +1,23 @@ +#!/usr/bin/ruby + +require 'mysql' + +user = ARGV[0] +port = ARGV[1] +db = ARGV[2] + +queries = [ + "create table test (pk int, value int, primary key(pk))", + "describe test", + "select * from test", + "insert into test (pk, value) values (0,0)", + "select * from test" +] + +conn = Mysql::new("127.0.0.1", user, "", db, port) +queries.each do |query| + res = conn.query(query) +end +conn.close() + +exit(0)