ruby-oci8 1.0.7-x86-mswin32-60 → 2.0.1-x86-mswin32-60
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +1289 -383
- data/Makefile +48 -12
- data/NEWS +5 -419
- data/README +56 -385
- data/VERSION +1 -1
- data/dist-files +27 -27
- data/lib/.document +2 -0
- data/lib/dbd/OCI8.rb +2 -17
- data/lib/oci8.rb +48 -1622
- data/lib/oci8.rb.in +48 -1622
- data/lib/oci8/.document +5 -0
- data/lib/oci8/compat.rb +108 -0
- data/lib/oci8/datetime.rb +491 -0
- data/lib/oci8/encoding-init.rb +40 -0
- data/lib/oci8/encoding.yml +537 -0
- data/lib/oci8/metadata.rb +2077 -0
- data/lib/oci8/object.rb +548 -0
- data/lib/oci8/oci8.rb +798 -0
- data/lib/oci8/oracle_version.rb +144 -0
- data/lib/oci8lib_18.so +0 -0
- data/lib/oci8lib_191.so +0 -0
- data/metaconfig +3 -3
- data/ruby-oci8.gemspec +24 -15
- data/setup.rb +4 -4
- data/test/config.rb +64 -84
- data/test/test_all.rb +14 -21
- data/test/test_array_dml.rb +333 -0
- data/test/test_bind_raw.rb +18 -25
- data/test/test_bind_time.rb +78 -91
- data/test/test_break.rb +37 -35
- data/test/test_clob.rb +33 -89
- data/test/test_connstr.rb +5 -4
- data/test/test_datetime.rb +469 -0
- data/test/test_dbi.rb +99 -60
- data/test/test_dbi_clob.rb +3 -8
- data/test/test_metadata.rb +65 -51
- data/test/test_oci8.rb +151 -55
- data/test/test_oracle_version.rb +70 -0
- data/test/test_oradate.rb +76 -83
- data/test/test_oranumber.rb +405 -71
- data/test/test_rowid.rb +6 -11
- metadata +21 -25
- data/ext/oci8/oci8lib.so +0 -0
- data/ruby-oci8.spec +0 -62
- data/support/README +0 -4
- data/support/runit/assert.rb +0 -281
- data/support/runit/cui/testrunner.rb +0 -101
- data/support/runit/error.rb +0 -4
- data/support/runit/method_mappable.rb +0 -20
- data/support/runit/robserver.rb +0 -25
- data/support/runit/setuppable.rb +0 -15
- data/support/runit/teardownable.rb +0 -16
- data/support/runit/testcase.rb +0 -113
- data/support/runit/testfailure.rb +0 -25
- data/support/runit/testresult.rb +0 -121
- data/support/runit/testsuite.rb +0 -43
- data/support/runit/version.rb +0 -3
- data/test/test_describe.rb +0 -137
@@ -0,0 +1,144 @@
|
|
1
|
+
# oracle_version.rb implements OCI8::OracleVersion.
|
2
|
+
#
|
3
|
+
# Copyright (C) 2009 KUBO Takehiro <kubo@jiubao.org>
|
4
|
+
|
5
|
+
#--
|
6
|
+
|
7
|
+
class OCI8
|
8
|
+
|
9
|
+
# A data class, representing Oracle version.
|
10
|
+
#
|
11
|
+
# Oracle version is represented by five numbers:
|
12
|
+
# *major*, *minor*, *update*, *patch* and *port_update*.
|
13
|
+
class OracleVersion
|
14
|
+
include Comparable
|
15
|
+
|
16
|
+
# The first part of the Oracle version.
|
17
|
+
attr_reader :major
|
18
|
+
# The second part of the Oracle version.
|
19
|
+
attr_reader :minor
|
20
|
+
# The third part of the Oracle version.
|
21
|
+
attr_reader :update
|
22
|
+
# The fifth part of the Oracle version.
|
23
|
+
attr_reader :patch
|
24
|
+
# The fourth part of the Oracle version.
|
25
|
+
attr_reader :port_update
|
26
|
+
|
27
|
+
# Creates a OCI8::OracleVersion object.
|
28
|
+
#
|
29
|
+
# If the first argument _arg_ is a String, it is parsed as dotted
|
30
|
+
# version string. If it is bigger than 0x08000000, it is parsed as
|
31
|
+
# a number contains 5-digit Oracle version. Otherwise, it is used
|
32
|
+
# as a major version and the rest arguments are minor, update,
|
33
|
+
# patch and port_update. Unspecified version numbers are zeros by
|
34
|
+
# default.
|
35
|
+
#
|
36
|
+
# == Example
|
37
|
+
# oraver = OCI8::OracleVersion.new('10.2.0.4')
|
38
|
+
# oraver.major # => 10
|
39
|
+
# oraver.minor # => 2
|
40
|
+
# oraver.update # => 0
|
41
|
+
# oraver.patch # => 4
|
42
|
+
# oraver.port_update # => 0
|
43
|
+
#
|
44
|
+
# oraver = OCI8::OracleVersion.new(0x0a200400)
|
45
|
+
# oraver.major # => 10
|
46
|
+
# oraver.minor # => 2
|
47
|
+
# oraver.update # => 0
|
48
|
+
# oraver.patch # => 4
|
49
|
+
# oraver.port_update # => 0
|
50
|
+
def initialize(arg, minor = nil, update = nil, patch = nil, port_update = nil)
|
51
|
+
if arg.is_a? String
|
52
|
+
major, minor, update, patch, port_update = arg.split('.').collect do |v|
|
53
|
+
v.to_i
|
54
|
+
end
|
55
|
+
elsif arg >= 0x08000000
|
56
|
+
major = (arg & 0xFF000000) >> 24
|
57
|
+
minor = (arg & 0x00F00000) >> 20
|
58
|
+
update = (arg & 0x000FF000) >> 12
|
59
|
+
patch = (arg & 0x00000F00) >> 8
|
60
|
+
port_update = (arg & 0x000000FF)
|
61
|
+
else
|
62
|
+
major = arg
|
63
|
+
end
|
64
|
+
@major = major
|
65
|
+
@minor = minor || 0
|
66
|
+
@update = update || 0
|
67
|
+
@patch = patch || 0
|
68
|
+
@port_update = port_update || 0
|
69
|
+
end
|
70
|
+
|
71
|
+
# :call-seq:
|
72
|
+
# oraver <=> other_oraver -> -1, 0, +1
|
73
|
+
#
|
74
|
+
# Compares +oraver+ and +other_oraver+.
|
75
|
+
#
|
76
|
+
# <=> is the basis for the methods <, <=, ==, >, >=, and between?,
|
77
|
+
# included from module Comparable.
|
78
|
+
def <=>(other)
|
79
|
+
cmp = @major <=> other.major
|
80
|
+
return cmp if cmp != 0
|
81
|
+
cmp = @minor <=> other.minor
|
82
|
+
return cmp if cmp != 0
|
83
|
+
cmp = @update <=> other.update
|
84
|
+
return cmp if cmp != 0
|
85
|
+
cmp = @patch <=> other.patch
|
86
|
+
return cmp if cmp != 0
|
87
|
+
@port_update <=> other.port_update
|
88
|
+
end
|
89
|
+
|
90
|
+
# :call-seq:
|
91
|
+
# oraver.to_i -> integer
|
92
|
+
#
|
93
|
+
# Returns an integer number contains 5-digit Oracle version.
|
94
|
+
#
|
95
|
+
# If the hexadecimal notation is 0xAABCCDEE, *major*, *minor*,
|
96
|
+
# *update*, *patch* and *port_update* are 0xAA, 0xB, 0xCC, 0xD and
|
97
|
+
# 0xEE respectively.
|
98
|
+
#
|
99
|
+
# == Example
|
100
|
+
# oraver = OCI8::OracleVersion.new('10.2.0.4')
|
101
|
+
# oraver.to_i # => 169870336
|
102
|
+
# '%08x' % oraver.to_i # => "0a200400"
|
103
|
+
def to_i
|
104
|
+
(@major << 24) | (@minor << 20) | (@update << 12) | (@patch << 8) | @port_update
|
105
|
+
end
|
106
|
+
|
107
|
+
# :call-seq:
|
108
|
+
# oraver.to_s -> string
|
109
|
+
#
|
110
|
+
# Returns a dotted version string of the Oracle version.
|
111
|
+
#
|
112
|
+
# == Example
|
113
|
+
# oraver = OCI8::OracleVersion.new('10.2.0.4')
|
114
|
+
# oraver.to_s # => '10.2.0.4.0'
|
115
|
+
def to_s
|
116
|
+
format('%d.%d.%d.%d.%d', @major, @minor, @update, @patch, @port_update)
|
117
|
+
end
|
118
|
+
|
119
|
+
# :call-seq:
|
120
|
+
# oraver.eql? other -> true or false
|
121
|
+
#
|
122
|
+
# Returns true if +oraver+ and +other+ are the same type and have
|
123
|
+
# equal values.
|
124
|
+
#--
|
125
|
+
# This is for class Hash to test members for equality.
|
126
|
+
def eql?(other)
|
127
|
+
other.is_a? OCI8::OracleVersion and (self <=> other) == 0
|
128
|
+
end
|
129
|
+
|
130
|
+
# :call-seq:
|
131
|
+
# oraver.hash -> integer
|
132
|
+
#
|
133
|
+
# Returns a hash based on the value of +oraver+.
|
134
|
+
#--
|
135
|
+
# This is for class Hash.
|
136
|
+
def hash
|
137
|
+
to_i
|
138
|
+
end
|
139
|
+
|
140
|
+
def inspect # :nodoc:
|
141
|
+
"#<#{self.class.to_s}: #{self.to_s}>"
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
data/lib/oci8lib_18.so
ADDED
Binary file
|
data/lib/oci8lib_191.so
ADDED
Binary file
|
data/metaconfig
CHANGED
@@ -10,7 +10,7 @@ ToplevelInstaller.module_eval {
|
|
10
10
|
old = Dir.pwd
|
11
11
|
@installer.mkdir_p "#{objdir_root}/test"
|
12
12
|
Dir.chdir "#{objdir_root}/test"
|
13
|
-
@installer.ruby("-I#{srcdir_root}/ext/oci8 -I#{srcdir_root}/lib -I#{srcdir_root}/support -I#{srcdir_root}/test #{srcdir_root}/test/test_all.rb")
|
13
|
+
@installer.ruby("-w -I#{srcdir_root}/ext/oci8 -I#{srcdir_root}/lib -I#{srcdir_root}/support -I#{srcdir_root}/test #{srcdir_root}/test/test_all.rb")
|
14
14
|
Dir.chdir old
|
15
15
|
end
|
16
16
|
|
@@ -120,8 +120,8 @@ install_files['oci8lib.so'] = <<-EOS
|
|
120
120
|
install_files['oci8.rb'] = <<-EOS
|
121
121
|
#{get_zcontent('lib/oci8.rb')}EOS
|
122
122
|
|
123
|
-
install_files['
|
124
|
-
#{get_zcontent('lib/
|
123
|
+
install_files['DBD/OCI8/OCI8.rb'] = <<-EOS
|
124
|
+
#{get_zcontent('lib/DBD/OCI8/OCI8.rb')}EOS
|
125
125
|
|
126
126
|
begin
|
127
127
|
installer = Installer.new(install_files)
|
data/ruby-oci8.gemspec
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
# To make a binary gems package:
|
7
7
|
# gem build ruby-oci8.gemspec -- current
|
8
8
|
#
|
9
|
+
require 'fileutils'
|
9
10
|
|
10
11
|
if ARGV.size > 3
|
11
12
|
gem_platform = ARGV[3]
|
@@ -23,32 +24,40 @@ spec = Gem::Specification.new do |s|
|
|
23
24
|
s.description = <<EOS
|
24
25
|
ruby-oci8 is a ruby interface for Oracle using OCI8 API. It is available with Oracle8, Oracle8i, Oracle9i, Oracle10g and Oracle Instant Client.
|
25
26
|
EOS
|
26
|
-
s.autorequire = 'oci8'
|
27
27
|
s.has_rdoc = true
|
28
|
-
s.required_ruby_version = '~> 1.8.0'
|
29
28
|
s.authors = ['KUBO Takehiro']
|
30
29
|
s.platform = gem_platform
|
31
30
|
files = File.read('dist-files').split("\n")
|
32
31
|
if gem_platform == Gem::Platform::RUBY
|
33
|
-
s.require_paths = ['lib']
|
34
32
|
s.extensions << 'ext/oci8/extconf.rb'
|
33
|
+
s.required_ruby_version = '>= 1.8.0'
|
35
34
|
else
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
35
|
+
so_files = Dir.glob('ext/oci8/oci8lib_*.so')
|
36
|
+
has_1_8 = so_files.include? 'ext/oci8/oci8lib_18.so'
|
37
|
+
has_1_9_1 = so_files.include? 'ext/oci8/oci8lib_191.so'
|
38
|
+
if has_1_8 and has_1_9_1
|
39
|
+
puts 'Binary gem for ruby 1.8 and 1.9.1'
|
40
|
+
s.required_ruby_version = '>= 1.8.0'
|
41
|
+
elsif has_1_8 and !has_1_9_1
|
42
|
+
puts 'Binary gem for ruby 1.8'
|
43
|
+
s.required_ruby_version = '~> 1.8.0'
|
44
|
+
elsif !has_1_8 and has_1_9_1
|
45
|
+
puts 'Binary gem for ruby 1.9.1'
|
46
|
+
s.required_ruby_version = '~> 1.9.1'
|
47
|
+
else
|
48
|
+
raise "No compiled binary are found. Run make in advance."
|
40
49
|
end
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
files << file
|
50
|
+
FileUtils.copy so_files, 'lib', :preserve => true
|
51
|
+
files.reject! do |fname|
|
52
|
+
fname =~ /^ext/
|
53
|
+
end
|
54
|
+
so_files.each do |fname|
|
55
|
+
files << 'lib/' + File.basename(fname)
|
48
56
|
end
|
57
|
+
files << 'lib/oci8.rb'
|
49
58
|
end
|
50
59
|
s.files = files
|
51
60
|
s.test_files = 'test/test_all.rb'
|
52
|
-
s.rdoc_options = ['--main', 'README'
|
61
|
+
s.rdoc_options = ['--main', 'README']
|
53
62
|
s.extra_rdoc_files = ['README']
|
54
63
|
end
|
data/setup.rb
CHANGED
@@ -91,7 +91,7 @@ end
|
|
91
91
|
# Config
|
92
92
|
#
|
93
93
|
|
94
|
-
if arg = ARGV.detect{|
|
94
|
+
if arg = ARGV.detect{|a| /\A--rbconfig=/ =~ a }
|
95
95
|
ARGV.delete(arg)
|
96
96
|
require arg.split(/=/, 2)[1]
|
97
97
|
$".push 'rbconfig.rb'
|
@@ -145,7 +145,7 @@ class ConfigTable
|
|
145
145
|
sodir = "$site-ruby/#{c['arch']}"
|
146
146
|
end
|
147
147
|
|
148
|
-
if arg = c['configure_args'].split.detect {|
|
148
|
+
if arg = c['configure_args'].split.detect {|a| /--with-make-prog=/ =~ a }
|
149
149
|
makeprog = arg.sub(/'/, '').split(/=/, 2)[1]
|
150
150
|
else
|
151
151
|
makeprog = 'make'
|
@@ -495,7 +495,7 @@ module FileOperations
|
|
495
495
|
end
|
496
496
|
|
497
497
|
REJECT_DIRS = %w(
|
498
|
-
CVS SCCS RCS CVS.adm
|
498
|
+
CVS SCCS RCS CVS.adm .svn .git
|
499
499
|
)
|
500
500
|
|
501
501
|
def all_dirs_in(dirname)
|
@@ -1163,7 +1163,7 @@ class Installer
|
|
1163
1163
|
end
|
1164
1164
|
|
1165
1165
|
def ruby_scripts
|
1166
|
-
collect_filenames_auto().select {|n| /\.rb\z/ =~ n }
|
1166
|
+
collect_filenames_auto().select {|n| /\.(rb|yml)\z/ =~ n }
|
1167
1167
|
end
|
1168
1168
|
|
1169
1169
|
# picked up many entries from cvs-1.11.1/src/ignore.c
|
data/test/config.rb
CHANGED
@@ -24,106 +24,86 @@ $lobreadnum = 256 # counts in charactors
|
|
24
24
|
# $oracle_client_version: Oracle client library version for which oci8 is compiled.
|
25
25
|
# $oracle_version: lower value of $oracle_server_version and $oracle_client_version.
|
26
26
|
conn = OCI8.new($dbuser, $dbpass, $dbname)
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
begin
|
28
|
+
conn.exec('select value from database_compatible_level') do |row|
|
29
|
+
$oracle_server_version = OCI8::OracleVersion.new(row[0])
|
30
|
+
end
|
31
|
+
rescue OCIError
|
32
|
+
raise if $!.code != 942 # ORA-00942: table or view does not exist
|
33
|
+
$oracle_server_version = OCI8::ORAVER_8_0
|
30
34
|
end
|
31
35
|
conn.logoff
|
32
|
-
|
33
|
-
if $oracle_server_version <
|
36
|
+
|
37
|
+
if $oracle_server_version < OCI8.oracle_client_version
|
34
38
|
$oracle_version = $oracle_server_version
|
35
39
|
else
|
36
|
-
$oracle_version =
|
40
|
+
$oracle_version = OCI8.oracle_client_version
|
37
41
|
end
|
38
42
|
|
39
|
-
if $oracle_version
|
40
|
-
$describe_need_object_mode = true
|
41
|
-
$test_clob = false
|
42
|
-
elsif $oracle_version < 810
|
43
|
-
$describe_need_object_mode = false
|
43
|
+
if $oracle_version < OCI8::ORAVER_8_1
|
44
44
|
$test_clob = false
|
45
45
|
else
|
46
|
-
$describe_need_object_mode = false
|
47
46
|
$test_clob = true
|
48
47
|
end
|
49
48
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
rescue OCIError
|
54
|
-
raise if $!.code != 12516 && $!.code != 12520
|
55
|
-
# sleep a few seconds and try again if
|
56
|
-
# the error code is ORA-12516 or ORA-12520.
|
57
|
-
#
|
58
|
-
# ORA-12516 - TNS:listener could not find available handler with
|
59
|
-
# matching protocol stack
|
60
|
-
# ORA-12520 - TNS:listener could not find available handler for
|
61
|
-
# requested type of server
|
62
|
-
#
|
63
|
-
# Thanks to Christopher Jones.
|
64
|
-
#
|
65
|
-
# Ref: The Underground PHP and Oracle Manual (page 175 in vesion 1.4)
|
66
|
-
# http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf
|
67
|
-
#
|
68
|
-
sleep(5)
|
69
|
-
yield
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
$env_is_initialized = false
|
74
|
-
def setup_lowapi()
|
75
|
-
if ! $env_is_initialized
|
76
|
-
if $describe_need_object_mode
|
77
|
-
OCIEnv.initialise(OCI_OBJECT)
|
78
|
-
else
|
79
|
-
OCIEnv.initialise(OCI_DEFAULT)
|
80
|
-
end
|
81
|
-
$env_is_initialized = true
|
82
|
-
end
|
83
|
-
env = OCIEnv.init()
|
84
|
-
svc = do_connect { env.logon($dbuser, $dbpass, $dbname) }
|
85
|
-
stmt = env.alloc(OCIStmt)
|
86
|
-
return env, svc, stmt
|
87
|
-
end
|
88
|
-
|
89
|
-
def get_oci_connection()
|
90
|
-
do_connect { OCI8.new($dbuser, $dbpass, $dbname) }
|
91
|
-
end
|
49
|
+
module Test
|
50
|
+
module Unit
|
51
|
+
class TestCase
|
92
52
|
|
93
|
-
def
|
94
|
-
|
95
|
-
|
53
|
+
def get_oci8_connection()
|
54
|
+
OCI8.new($dbuser, $dbpass, $dbname)
|
55
|
+
rescue OCIError
|
56
|
+
raise if $!.code != 12516 && $!.code != 12520
|
57
|
+
# sleep a few second and try again if
|
58
|
+
# the error code is ORA-12516 or ORA-12520.
|
59
|
+
#
|
60
|
+
# ORA-12516 - TNS:listener could not find available handler with
|
61
|
+
# matching protocol stack
|
62
|
+
# ORA-12520 - TNS:listener could not find available handler for
|
63
|
+
# requested type of server
|
64
|
+
#
|
65
|
+
# Thanks to Christopher Jones.
|
66
|
+
#
|
67
|
+
# Ref: The Underground PHP and Oracle Manual (page 175 in vesion 1.4)
|
68
|
+
# http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf
|
69
|
+
#
|
70
|
+
sleep(5)
|
71
|
+
OCI8.new($dbuser, $dbpass, $dbname)
|
72
|
+
end
|
96
73
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
#
|
102
|
-
|
103
|
-
|
104
|
-
# Oracle 10g -
|
105
|
-
sql = "DROP TABLE #{table_name} PURGE"
|
74
|
+
def get_dbi_connection()
|
75
|
+
DBI.connect("dbi:OCI8:#{$dbname}", $dbuser, $dbpass, 'AutoCommit' => false)
|
76
|
+
rescue DBI::DatabaseError
|
77
|
+
raise if $!.err != 12516 && $!.err != 12520
|
78
|
+
# same as get_oci8_connection()
|
79
|
+
sleep(5)
|
80
|
+
DBI.connect("dbi:OCI8:#{$dbname}", $dbuser, $dbpass, 'AutoCommit' => false)
|
106
81
|
end
|
107
82
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
begin
|
116
|
-
@dbh.do(sql)
|
117
|
-
rescue DBI::DatabaseError
|
118
|
-
raise if $!.err != 942 # table or view does not exist
|
83
|
+
def drop_table(table_name)
|
84
|
+
if $oracle_server_version < OCI8::ORAVER_10_1
|
85
|
+
# Oracle 8 - 9i
|
86
|
+
sql = "DROP TABLE #{table_name}"
|
87
|
+
else
|
88
|
+
# Oracle 10g -
|
89
|
+
sql = "DROP TABLE #{table_name} PURGE"
|
119
90
|
end
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
91
|
+
|
92
|
+
if defined? @conn
|
93
|
+
begin
|
94
|
+
@conn.exec(sql)
|
95
|
+
rescue OCIError
|
96
|
+
raise if $!.code != 942 # table or view does not exist
|
97
|
+
end
|
98
|
+
elsif instance_variable_get(:@dbh)
|
99
|
+
begin
|
100
|
+
@dbh.do(sql)
|
101
|
+
rescue DBI::DatabaseError
|
102
|
+
raise if $!.err != 942 # table or view does not exist
|
103
|
+
end
|
125
104
|
end
|
126
|
-
end
|
127
|
-
end
|
105
|
+
end # drop_table
|
106
|
+
end
|
128
107
|
end
|
129
108
|
end
|
109
|
+
|
data/test/test_all.rb
CHANGED
@@ -1,48 +1,41 @@
|
|
1
|
-
require 'runit/testsuite'
|
2
|
-
require 'runit/cui/testrunner'
|
3
|
-
|
4
1
|
srcdir = File.dirname(__FILE__)
|
5
2
|
|
6
|
-
|
3
|
+
require 'oci8'
|
4
|
+
require 'test/unit'
|
5
|
+
require "#{srcdir}/config"
|
6
|
+
|
7
7
|
require "#{srcdir}/test_oradate"
|
8
8
|
require "#{srcdir}/test_oranumber"
|
9
|
-
require "#{srcdir}/test_describe"
|
10
9
|
require "#{srcdir}/test_bind_time"
|
11
10
|
require "#{srcdir}/test_bind_raw"
|
12
11
|
if $test_clob
|
13
12
|
require "#{srcdir}/test_clob"
|
14
13
|
end
|
15
14
|
|
16
|
-
# High-level API
|
17
15
|
require "#{srcdir}/test_break"
|
18
16
|
require "#{srcdir}/test_oci8"
|
17
|
+
require "#{srcdir}/test_datetime"
|
19
18
|
require "#{srcdir}/test_connstr"
|
20
19
|
require "#{srcdir}/test_metadata"
|
20
|
+
require "#{srcdir}/test_array_dml"
|
21
21
|
require "#{srcdir}/test_rowid"
|
22
|
+
require "#{srcdir}/test_oracle_version"
|
22
23
|
|
23
24
|
# Ruby/DBI
|
24
25
|
begin
|
25
26
|
require 'dbi'
|
27
|
+
is_dbi_loaded = true
|
26
28
|
rescue LoadError
|
27
|
-
|
28
|
-
require 'rubygems'
|
29
|
-
require 'dbi'
|
30
|
-
rescue LoadError
|
31
|
-
dbi_not_found = false
|
32
|
-
end
|
29
|
+
is_dbi_loaded = false
|
33
30
|
end
|
34
|
-
|
31
|
+
if is_dbi_loaded
|
35
32
|
require "#{srcdir}/test_dbi"
|
36
33
|
if $test_clob
|
37
34
|
require "#{srcdir}/test_dbi_clob"
|
38
35
|
end
|
39
36
|
end
|
40
37
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
end
|
46
|
-
}
|
47
|
-
#RUNIT::CUI::TestRunner.quiet_mode = true
|
48
|
-
RUNIT::CUI::TestRunner.run(suite)
|
38
|
+
#Test::Unit::AutoRunner.run(true, true)
|
39
|
+
if defined? Test::Unit::AutoRunner
|
40
|
+
Test::Unit::AutoRunner.run()
|
41
|
+
end
|