tiny_tds 1.3.0-x64-mingw32 → 2.0.0.pre1-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ # encoding: UTF-8
2
+ require 'mini_portile2'
3
+ require 'fileutils'
4
+ require 'rbconfig'
5
+
6
+ module Ports
7
+ class Recipe < MiniPortile
8
+ def cook
9
+ checkpoint = "ports/#{name}-#{version}-#{host}.installed"
10
+
11
+ unless File.exist? checkpoint
12
+ super
13
+ FileUtils.touch checkpoint
14
+ end
15
+ end
16
+
17
+ private
18
+
19
+ def configure_defaults
20
+ [
21
+ "--host=#{@host}",
22
+ '--disable-static',
23
+ '--enable-shared'
24
+ ]
25
+ end
26
+
27
+ def windows?
28
+ host =~ /mswin|mingw32/
29
+ end
30
+
31
+ def system_host
32
+ RbConfig::CONFIG['host']
33
+ end
34
+
35
+ def cross_build?
36
+ host != system_host
37
+ end
38
+
39
+ def get_patches(libname, version)
40
+ patches = []
41
+
42
+ patch_path = File.expand_path(
43
+ File.join('..','..','..','patches',libname,version),
44
+ __FILE__
45
+ )
46
+
47
+ patches.concat(Dir[File.join(patch_path, '*.patch')].sort)
48
+ patches.concat(Dir[File.join(patch_path, '*.diff')].sort)
49
+ end
50
+ end
51
+ end
52
+
data/tasks/test.rake ADDED
@@ -0,0 +1,9 @@
1
+ # encoding: UTF-8
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'test'
6
+ t.test_files = FileList['test/**/*_test.rb']
7
+ t.verbose = true
8
+ end
9
+
@@ -10,9 +10,9 @@ fi
10
10
  wget https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz
11
11
  tar -xzf openssl-$OPENSSL_VERSION.tar.gz
12
12
  cd openssl-$OPENSSL_VERSION
13
- ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
13
+ ./config --prefix=/opt/local --openssldir=/opt/local
14
14
  make
15
- make install
15
+ make install_sw install_ssldirs
16
16
  cd ..
17
17
  rm -rf openssl-$OPENSSL_VERSION
18
18
  rm openssl-$OPENSSL_VERSION.tar.gz
data/test/bin/setup.sh CHANGED
@@ -3,7 +3,7 @@
3
3
  set -x
4
4
  set -e
5
5
 
6
- tag=1.4
6
+ tag=2.0
7
7
 
8
8
  docker pull metaskills/mssql-server-linux-tinytds:$tag
9
9
 
data/test/gem_test.rb ADDED
@@ -0,0 +1,179 @@
1
+ # encoding: utf-8
2
+ require 'test_helper'
3
+ require 'tiny_tds/gem'
4
+
5
+ class GemTest < MiniTest::Spec
6
+ gem_root ||= File.expand_path '../..', __FILE__
7
+
8
+ describe TinyTds::Gem do
9
+
10
+ # We're going to muck with some system globals so lets make sure
11
+ # they get set back later
12
+ original_host = RbConfig::CONFIG['host']
13
+ original_pwd = Dir.pwd
14
+
15
+ after do
16
+ RbConfig::CONFIG['host'] = original_host
17
+ Dir.chdir original_pwd
18
+ end
19
+
20
+ describe '#root_path' do
21
+ let(:root_path) { TinyTds::Gem.root_path }
22
+
23
+ it 'should be the root path' do
24
+ root_path.must_equal gem_root
25
+ end
26
+
27
+ it 'should be the root path no matter the cwd' do
28
+ Dir.chdir '/'
29
+
30
+ root_path.must_equal gem_root
31
+ end
32
+ end
33
+
34
+ describe '#ports_root_path' do
35
+ let(:ports_root_path) { TinyTds::Gem.ports_root_path }
36
+
37
+ it 'should be the ports path' do
38
+ ports_root_path.must_equal File.join(gem_root,'ports')
39
+ end
40
+
41
+ it 'should be the ports path no matter the cwd' do
42
+ Dir.chdir '/'
43
+
44
+ ports_root_path.must_equal File.join(gem_root,'ports')
45
+ end
46
+ end
47
+
48
+ describe '#ports_bin_paths' do
49
+ let(:ports_bin_paths) { TinyTds::Gem.ports_bin_paths }
50
+
51
+ describe 'when the ports directories exist' do
52
+ let(:fake_bin_paths) do
53
+ ports_host_root = File.join(gem_root, 'ports', 'fake-host-with-dirs')
54
+ [
55
+ File.join('a','bin'),
56
+ File.join('a','inner','bin'),
57
+ File.join('b','bin')
58
+ ].map do |p|
59
+ File.join(ports_host_root, p)
60
+ end
61
+ end
62
+
63
+ before do
64
+ RbConfig::CONFIG['host'] = 'fake-host-with-dirs'
65
+ fake_bin_paths.each do |path|
66
+ FileUtils.mkdir_p(path)
67
+ end
68
+ end
69
+
70
+ after do
71
+ FileUtils.remove_entry_secure(
72
+ File.join(gem_root, 'ports', 'fake-host-with-dirs'), true
73
+ )
74
+ end
75
+
76
+ it 'should return all the bin directories' do
77
+ ports_bin_paths.sort.must_equal fake_bin_paths.sort
78
+ end
79
+
80
+ it 'should return all the bin directories regardless of cwd' do
81
+ Dir.chdir '/'
82
+ ports_bin_paths.sort.must_equal fake_bin_paths.sort
83
+ end
84
+ end
85
+
86
+ describe 'when the ports directories are missing' do
87
+ before do
88
+ RbConfig::CONFIG['host'] = 'fake-host-without-dirs'
89
+ end
90
+
91
+ it 'should return no directories' do
92
+ ports_bin_paths.must_be_empty
93
+ end
94
+
95
+ it 'should return no directories regardless of cwd' do
96
+ Dir.chdir '/'
97
+ ports_bin_paths.must_be_empty
98
+ end
99
+ end
100
+ end
101
+
102
+ describe '#ports_lib_paths' do
103
+ let(:ports_lib_paths) { TinyTds::Gem.ports_lib_paths }
104
+
105
+ describe 'when the ports directories exist' do
106
+ let(:fake_lib_paths) do
107
+ ports_host_root = File.join(gem_root, 'ports', 'fake-host-with-dirs')
108
+ [
109
+ File.join('a','lib'),
110
+ File.join('a','inner','lib'),
111
+ File.join('b','lib')
112
+ ].map do |p|
113
+ File.join(ports_host_root, p)
114
+ end
115
+ end
116
+
117
+ before do
118
+ RbConfig::CONFIG['host'] = 'fake-host-with-dirs'
119
+ fake_lib_paths.each do |path|
120
+ FileUtils.mkdir_p(path)
121
+ end
122
+ end
123
+
124
+ after do
125
+ FileUtils.remove_entry_secure(
126
+ File.join(gem_root, 'ports', 'fake-host-with-dirs'), true
127
+ )
128
+ end
129
+
130
+ it 'should return all the lib directories' do
131
+ ports_lib_paths.sort.must_equal fake_lib_paths.sort
132
+ end
133
+
134
+ it 'should return all the lib directories regardless of cwd' do
135
+ Dir.chdir '/'
136
+ ports_lib_paths.sort.must_equal fake_lib_paths.sort
137
+ end
138
+ end
139
+
140
+ describe 'when the ports directories are missing' do
141
+ before do
142
+ RbConfig::CONFIG['host'] = 'fake-host-without-dirs'
143
+ end
144
+
145
+
146
+ it 'should return no directories' do
147
+ ports_lib_paths.must_be_empty
148
+ end
149
+
150
+ it 'should return no directories regardless of cwd' do
151
+ Dir.chdir '/'
152
+ ports_lib_paths.must_be_empty
153
+ end
154
+ end
155
+ end
156
+
157
+ describe '#ports_host' do
158
+ {
159
+ 'i686-pc-linux-gnu' => 'i686-pc-linux-gnu',
160
+ 'x86_64-pc-linux-gnu' => 'x86_64-pc-linux-gnu',
161
+ 'i686-w64-mingw32' => 'i686-w64-mingw32',
162
+ 'x86_64-w64-mingw32' => 'x86_64-w64-mingw32',
163
+ # consolidate this host to our build w64-mingw32 arch
164
+ 'i686-pc-mingw32' => 'i686-w64-mingw32'
165
+ }.each do |host,expected|
166
+ describe "on a #{host} architecture" do
167
+ before do
168
+ RbConfig::CONFIG['host'] = host
169
+ end
170
+
171
+ it "should return a #{expected} ports host" do
172
+ TinyTds::Gem.ports_host.must_equal expected
173
+ end
174
+ end
175
+ end
176
+ end
177
+ end
178
+ end
179
+
data/test/result_test.rb CHANGED
@@ -135,10 +135,10 @@ class ResultTest < TinyTds::TestCase
135
135
  text = 'test affected rows sql'
136
136
  @client.execute("DELETE FROM [datatypes]").do
137
137
  afrows = @client.execute("SELECT @@ROWCOUNT AS AffectedRows").each.first['AffectedRows']
138
- assert_instance_of Fixnum, afrows
138
+ ['Fixnum', 'Integer'].must_include afrows.class.name
139
139
  @client.execute("INSERT INTO [datatypes] ([varchar_50]) VALUES ('#{text}')").do
140
140
  pk1 = @client.execute(@client.identity_sql).each.first['Ident']
141
- assert_instance_of Fixnum, pk1, 'we it be able to CAST to bigint'
141
+ ['Fixnum', 'Integer'].must_include pk1.class.name, 'we it be able to CAST to bigint'
142
142
  @client.execute("UPDATE [datatypes] SET [varchar_50] = NULL WHERE [varchar_50] = '#{text}'").do
143
143
  afrows = @client.execute("SELECT @@ROWCOUNT AS AffectedRows").each.first['AffectedRows']
144
144
  assert_equal 1, afrows
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_tds
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.0.pre1
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Ken Collins
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-03-18 00:00:00.000000000 Z
13
+ date: 2017-07-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: mini_portile2
@@ -112,6 +112,7 @@ files:
112
112
  - ".gitignore"
113
113
  - ".rubocop.yml"
114
114
  - ".travis.yml"
115
+ - BACKERS.md
115
116
  - CHANGELOG
116
117
  - CODE_OF_CONDUCT.md
117
118
  - Gemfile
@@ -125,8 +126,6 @@ files:
125
126
  - bin/tsql
126
127
  - circle.yml
127
128
  - exe/.keep
128
- - exe/defncopy.exe
129
- - exe/tsql.exe
130
129
  - ext/tiny_tds/client.c
131
130
  - ext/tiny_tds/client.h
132
131
  - ext/tiny_tds/extconf.rb
@@ -144,13 +143,48 @@ files:
144
143
  - lib/tiny_tds/bin.rb
145
144
  - lib/tiny_tds/client.rb
146
145
  - lib/tiny_tds/error.rb
146
+ - lib/tiny_tds/gem.rb
147
147
  - lib/tiny_tds/result.rb
148
148
  - lib/tiny_tds/version.rb
149
- - ports/patches/freetds/1.00.27/0001-mingw_missing_inet_pton.diff
150
- - ports/x86_64-w64-mingw32/bin/libcrypto32-1.1.0e-x86_64-w64-mingw32.dll
151
- - ports/x86_64-w64-mingw32/bin/libiconv-2.dll
152
- - ports/x86_64-w64-mingw32/bin/libssl32-1.1.0e-x86_64-w64-mingw32.dll
153
- - ports/x86_64-w64-mingw32/bin/libsybdb-5.dll
149
+ - patches/freetds/1.00.27/0001-mingw_missing_inet_pton.diff
150
+ - patches/libiconv/1.14/1-avoid-gets-error.patch
151
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/bsqldb.exe
152
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/datacopy.exe
153
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/defncopy.exe
154
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/freebcp.exe
155
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/libct-4.dll
156
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/libsybdb-5.dll
157
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/osql
158
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/tdspool.exe
159
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/bin/tsql.exe
160
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/lib/libct.dll.a
161
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/lib/libct.la
162
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/lib/libsybdb.dll.a
163
+ - ports/x86_64-w64-mingw32/freetds/1.00.27/lib/libsybdb.la
164
+ - ports/x86_64-w64-mingw32/libiconv/1.14/bin/iconv.exe
165
+ - ports/x86_64-w64-mingw32/libiconv/1.14/bin/libcharset-1.dll
166
+ - ports/x86_64-w64-mingw32/libiconv/1.14/bin/libiconv-2.dll
167
+ - ports/x86_64-w64-mingw32/libiconv/1.14/lib/charset.alias
168
+ - ports/x86_64-w64-mingw32/libiconv/1.14/lib/libcharset.dll.a
169
+ - ports/x86_64-w64-mingw32/libiconv/1.14/lib/libcharset.la
170
+ - ports/x86_64-w64-mingw32/libiconv/1.14/lib/libiconv.dll.a
171
+ - ports/x86_64-w64-mingw32/libiconv/1.14/lib/libiconv.la
172
+ - ports/x86_64-w64-mingw32/openssl/1.1.0e/bin/c_rehash
173
+ - ports/x86_64-w64-mingw32/openssl/1.1.0e/bin/libcrypto-1_1-x64.dll
174
+ - ports/x86_64-w64-mingw32/openssl/1.1.0e/bin/libssl-1_1-x64.dll
175
+ - ports/x86_64-w64-mingw32/openssl/1.1.0e/bin/openssl.exe
176
+ - ports/x86_64-w64-mingw32/openssl/1.1.0e/lib/libcrypto.a
177
+ - ports/x86_64-w64-mingw32/openssl/1.1.0e/lib/libcrypto.dll.a
178
+ - ports/x86_64-w64-mingw32/openssl/1.1.0e/lib/libssl.a
179
+ - ports/x86_64-w64-mingw32/openssl/1.1.0e/lib/libssl.dll.a
180
+ - tasks/native_gem.rake
181
+ - tasks/package.rake
182
+ - tasks/ports.rake
183
+ - tasks/ports/freetds.rb
184
+ - tasks/ports/libiconv.rb
185
+ - tasks/ports/openssl.rb
186
+ - tasks/ports/recipe.rb
187
+ - tasks/test.rake
154
188
  - test/appveyor/dbsetup.ps1
155
189
  - test/appveyor/dbsetup.sql
156
190
  - test/benchmark/query.rb
@@ -160,6 +194,7 @@ files:
160
194
  - test/bin/install-openssl.sh
161
195
  - test/bin/setup.sh
162
196
  - test/client_test.rb
197
+ - test/gem_test.rb
163
198
  - test/result_test.rb
164
199
  - test/schema/1px.gif
165
200
  - test/schema/sqlserver_2000.sql
@@ -189,12 +224,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
189
224
  version: 2.0.0
190
225
  required_rubygems_version: !ruby/object:Gem::Requirement
191
226
  requirements:
192
- - - ">="
227
+ - - ">"
193
228
  - !ruby/object:Gem::Version
194
- version: '0'
229
+ version: 1.3.1
195
230
  requirements: []
196
231
  rubyforge_project:
197
- rubygems_version: 2.6.8
232
+ rubygems_version: 2.6.12
198
233
  signing_key:
199
234
  specification_version: 4
200
235
  summary: TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library.