rbbt-util 5.6.17 → 5.7.0
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.
- checksums.yaml +4 -4
- data/lib/rbbt/persist/tsv.rb +4 -4
- data/lib/rbbt/resource/path.rb +8 -3
- data/lib/rbbt/resource/util.rb +2 -1
- data/lib/rbbt/tsv.rb +2 -1
- data/lib/rbbt/tsv/manipulate.rb +31 -29
- data/lib/rbbt/tsv/parallel.rb +47 -0
- data/lib/rbbt/util/simpleopt/parse.rb +3 -1
- data/lib/rbbt/workflow.rb +4 -2
- data/lib/rbbt/workflow/accessor.rb +2 -2
- data/test/rbbt/tsv/test_parallel.rb +20 -0
- metadata +56 -53
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d4025fea0b4bfd41f869ae4282cd268ebe5f876
|
4
|
+
data.tar.gz: 194ead2946a9a3c215a9136bc2b0c615bf73488a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0df26701e5d7e3842a9ddd939c385b7c16884f81eee2fde670d6c7b1c0fe7cc371d05acaa65967eda8716fe7301c5e83e79a8b189e07341597b23052d648c060
|
7
|
+
data.tar.gz: afcd1c9b2c88cb5858278ae50401a5140d729aa2007629f99adff8d3239f3d28d2df4c4791362a450d1892d273bef352941ab14578a6031fc7e43a9f8404a3fd
|
data/lib/rbbt/persist/tsv.rb
CHANGED
@@ -7,25 +7,25 @@ end
|
|
7
7
|
begin
|
8
8
|
require 'rbbt/persist/tsv/lmdb'
|
9
9
|
rescue Exception
|
10
|
-
Log.
|
10
|
+
Log.debug "The lmdb gem could not be loaded. Persistance using this engine will fail."
|
11
11
|
end
|
12
12
|
|
13
13
|
begin
|
14
14
|
require 'rbbt/persist/tsv/leveldb'
|
15
15
|
rescue Exception
|
16
|
-
Log.
|
16
|
+
Log.debug "The LevelDB gem could not be loaded. Persistance using this engine will fail."
|
17
17
|
end
|
18
18
|
|
19
19
|
begin
|
20
20
|
require 'rbbt/persist/tsv/cdb'
|
21
21
|
rescue Exception
|
22
|
-
Log.
|
22
|
+
Log.debug "The CDB gem could not be loaded. Persistance using this engine will fail."
|
23
23
|
end
|
24
24
|
|
25
25
|
begin
|
26
26
|
require 'rbbt/persist/tsv/kyotocabinet'
|
27
27
|
rescue Exception
|
28
|
-
Log.
|
28
|
+
Log.debug "The kyotocabinet gem could not be loaded. Persistance using this engine will fail."
|
29
29
|
end
|
30
30
|
|
31
31
|
module Persist
|
data/lib/rbbt/resource/path.rb
CHANGED
@@ -108,16 +108,21 @@ module Path
|
|
108
108
|
else
|
109
109
|
where = where.to_sym
|
110
110
|
raise "Did not recognize the 'where' tag: #{where}. Options: #{paths.keys}" unless paths.include? where
|
111
|
-
|
112
|
-
|
111
|
+
|
112
|
+
if where == :lib
|
113
|
+
libdir = Path.caller_lib_dir(caller_lib) || "NOLIBDIR"
|
114
|
+
else
|
115
|
+
libdir = "NOLIBDIR"
|
116
|
+
end
|
113
117
|
pwd = FileUtils.pwd
|
114
|
-
|
118
|
+
path = paths[where].
|
115
119
|
sub('{PKGDIR}', pkgdir).
|
116
120
|
sub('{PWD}', pwd).
|
117
121
|
sub('{TOPLEVEL}', toplevel).
|
118
122
|
sub('{SUBPATH}', subpath).
|
119
123
|
sub('{PATH}', self).
|
120
124
|
sub('{LIBDIR}', libdir) #, @pkgdir, @resource, @search_paths
|
125
|
+
self.annotate path
|
121
126
|
end
|
122
127
|
end
|
123
128
|
|
data/lib/rbbt/resource/util.rb
CHANGED
@@ -8,12 +8,13 @@ module Path
|
|
8
8
|
l =~ /progress-monitor\.rb/
|
9
9
|
}.first.sub(/\.rb[^\w].*/,'.rb') if file.nil?
|
10
10
|
|
11
|
-
file = File.expand_path file
|
12
11
|
return Path.setup(file) if File.exists? File.join(file, relative_to)
|
13
12
|
|
14
13
|
while file != '/'
|
15
14
|
dir = File.dirname file
|
15
|
+
|
16
16
|
return Path.setup(dir) if File.exists? File.join(dir, relative_to)
|
17
|
+
|
17
18
|
file = File.dirname file
|
18
19
|
end
|
19
20
|
|
data/lib/rbbt/tsv.rb
CHANGED
@@ -14,6 +14,7 @@ require 'rbbt/tsv/index'
|
|
14
14
|
require 'rbbt/tsv/attach'
|
15
15
|
require 'rbbt/tsv/filter'
|
16
16
|
require 'rbbt/tsv/field_index'
|
17
|
+
require 'rbbt/tsv/parallel'
|
17
18
|
|
18
19
|
module TSV
|
19
20
|
class << self
|
@@ -123,7 +124,7 @@ module TSV
|
|
123
124
|
|
124
125
|
line = parser.rescue_first_line
|
125
126
|
|
126
|
-
if TokyoCabinet::HDB === data and parser.straight and
|
127
|
+
if defined? TokyoCabinet and TokyoCabinet::HDB === data and parser.straight and
|
127
128
|
data.close
|
128
129
|
begin
|
129
130
|
bin = 'tchmgr'
|
data/lib/rbbt/tsv/manipulate.rb
CHANGED
@@ -172,29 +172,28 @@ module TSV
|
|
172
172
|
next if value.nil?
|
173
173
|
|
174
174
|
keys, value = traverser.process(key, value)
|
175
|
+
|
176
|
+
next if keys.nil?
|
175
177
|
|
176
178
|
keys = [keys].compact unless Array === keys
|
177
179
|
|
178
180
|
# Annotated with Entity and NamedArray
|
179
|
-
if not @unnamed
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
when :flat, :single
|
192
|
-
prepare_entity(value, traverser.new_field_names.first, entity_options)
|
193
|
-
end
|
181
|
+
if not @unnamed and not traverser.new_field_names.nil?
|
182
|
+
|
183
|
+
case type
|
184
|
+
when :double, :list
|
185
|
+
Log.warn "Value frozen: #{ value }" if value.frozen?
|
186
|
+
|
187
|
+
value.nil? ?
|
188
|
+
nil :
|
189
|
+
NamedArray.setup(value, traverser.new_field_names, key, entity_options, entity_templates)
|
190
|
+
|
191
|
+
when :flat, :single
|
192
|
+
prepare_entity(value, traverser.new_field_names.first, entity_options)
|
194
193
|
end
|
194
|
+
|
195
195
|
end
|
196
196
|
|
197
|
-
next if keys.nil?
|
198
197
|
|
199
198
|
if zipped
|
200
199
|
|
@@ -214,6 +213,7 @@ module TSV
|
|
214
213
|
end
|
215
214
|
|
216
215
|
else
|
216
|
+
|
217
217
|
keys.each do |key|
|
218
218
|
if not @unnamed
|
219
219
|
k = Misc.prepare_entity(k, traverser.new_key_field_name, entity_options)
|
@@ -221,6 +221,7 @@ module TSV
|
|
221
221
|
value.key = key if NamedArray === value
|
222
222
|
yield key, value
|
223
223
|
end
|
224
|
+
|
224
225
|
end
|
225
226
|
end
|
226
227
|
|
@@ -239,6 +240,7 @@ module TSV
|
|
239
240
|
data = {}
|
240
241
|
end
|
241
242
|
|
243
|
+
new_key_field_name, new_field_names = nil, nil
|
242
244
|
with_unnamed do
|
243
245
|
if zipped or (type != :double and type != :flat)
|
244
246
|
new_key_field_name, new_field_names = through new_key_field, new_fields, uniq, zipped do |key, value|
|
@@ -268,23 +270,23 @@ module TSV
|
|
268
270
|
end
|
269
271
|
end
|
270
272
|
end
|
273
|
+
end
|
271
274
|
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
275
|
+
if real_data and real_data.respond_to? :persistence_path
|
276
|
+
real_data.serializer = type if real_data.respond_to? :serializer
|
277
|
+
real_data.merge!(data)
|
278
|
+
data = real_data
|
279
|
+
end
|
277
280
|
|
278
|
-
|
279
|
-
|
281
|
+
data.extend TSV unless TSV === data
|
282
|
+
self.annotate(data)
|
280
283
|
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
end
|
286
|
-
data.type = zipped ? :list : type
|
284
|
+
data.key_field = new_key_field_name
|
285
|
+
data.fields = new_field_names
|
286
|
+
data.fields.each do |field|
|
287
|
+
data.entity_templates[field] = entity_templates[field] if entity_templates.include? field
|
287
288
|
end
|
289
|
+
data.type = zipped ? :list : type
|
288
290
|
end
|
289
291
|
end
|
290
292
|
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module TSV
|
2
|
+
|
3
|
+
def pthrough(num_threads = 100, new_key_field = nil, new_fields = nil, uniq = false, zipped = false)
|
4
|
+
q = Queue.new
|
5
|
+
mutex = Mutex.new
|
6
|
+
|
7
|
+
threads = []
|
8
|
+
|
9
|
+
done = false
|
10
|
+
num_threads.times do |i|
|
11
|
+
threads << Thread.new(Thread.current) do |current|
|
12
|
+
begin
|
13
|
+
loop do
|
14
|
+
p = q.pop
|
15
|
+
p << mutex
|
16
|
+
yield *p
|
17
|
+
next if q.length == 0 and done
|
18
|
+
end
|
19
|
+
rescue Exception
|
20
|
+
current.raise $!
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
max = 10_000_000
|
26
|
+
res = through(new_key_field, new_fields, uniq, zipped) do |*p|
|
27
|
+
if q.length >= max
|
28
|
+
Thread.pass
|
29
|
+
q << p
|
30
|
+
end
|
31
|
+
q << p
|
32
|
+
end
|
33
|
+
|
34
|
+
done == true
|
35
|
+
|
36
|
+
Thread.pass while q.length > 0
|
37
|
+
|
38
|
+
|
39
|
+
threads.each{|t| t.kill }
|
40
|
+
|
41
|
+
res
|
42
|
+
end
|
43
|
+
|
44
|
+
def _pthrough(num_threads = 1, new_key_field = nil, new_fields = nil, uniq = false, zipped = false, &block)
|
45
|
+
through(new_key_field, new_fields, uniq, zipped, &block)
|
46
|
+
end
|
47
|
+
end
|
@@ -15,7 +15,7 @@ module SOPT
|
|
15
15
|
end
|
16
16
|
|
17
17
|
while shortcuts.include?(short) and not shortcuts[short] == long
|
18
|
-
while
|
18
|
+
while shortcuts[short].index current * ""
|
19
19
|
next_letter = chars.shift
|
20
20
|
return nil if next_letter.nil?
|
21
21
|
current << next_letter
|
@@ -23,6 +23,8 @@ module SOPT
|
|
23
23
|
short = current * ""
|
24
24
|
end
|
25
25
|
|
26
|
+
return nil if shortcuts.include? short
|
27
|
+
|
26
28
|
short
|
27
29
|
end
|
28
30
|
|
data/lib/rbbt/workflow.rb
CHANGED
@@ -28,7 +28,10 @@ module Workflow
|
|
28
28
|
def self.load_workflow_file(filename)
|
29
29
|
begin
|
30
30
|
$LOAD_PATH.unshift(File.join(File.dirname(File.expand_path(filename)), 'lib'))
|
31
|
-
|
31
|
+
|
32
|
+
filename = File.expand_path(filename)
|
33
|
+
|
34
|
+
require filename
|
32
35
|
Log.debug{"Workflow loaded from: #{ filename }"}
|
33
36
|
return true
|
34
37
|
rescue Exception
|
@@ -80,7 +83,6 @@ module Workflow
|
|
80
83
|
end
|
81
84
|
|
82
85
|
def self.require_workflow(wf_name)
|
83
|
-
|
84
86
|
# Already loaded
|
85
87
|
begin
|
86
88
|
workflow = Misc.string2const wf_name
|
@@ -97,9 +97,9 @@ class Step
|
|
97
97
|
def log(status, message = nil, do_log = true)
|
98
98
|
|
99
99
|
if message
|
100
|
-
Log.
|
100
|
+
Log.medium "[#{ status }] #{ message }: #{path}"
|
101
101
|
else
|
102
|
-
Log.
|
102
|
+
Log.medium "[#{ status }]: #{path}"
|
103
103
|
end if do_log
|
104
104
|
|
105
105
|
self.status = status
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'test_helper.rb')
|
2
|
+
require 'rbbt/tsv'
|
3
|
+
require 'rbbt/tsv/parallel'
|
4
|
+
|
5
|
+
class TestTSVParallel < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_pthrough
|
8
|
+
require 'rbbt/sources/organism'
|
9
|
+
tsv = Organism.identifiers("Hsa").tsv :unnamed => true
|
10
|
+
|
11
|
+
h = {}
|
12
|
+
tsv.monitor = true
|
13
|
+
tsv.pthrough do |k,v|
|
14
|
+
h[k] = v.first
|
15
|
+
end
|
16
|
+
|
17
|
+
assert h.size > 0
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
metadata
CHANGED
@@ -1,99 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
15
|
requirement: !ruby/object:Gem::Requirement
|
21
16
|
requirements:
|
22
|
-
- -
|
17
|
+
- - ">="
|
23
18
|
- !ruby/object:Gem::Version
|
24
19
|
version: '0'
|
25
|
-
prerelease: false
|
26
20
|
type: :runtime
|
27
|
-
|
28
|
-
name: progress-monitor
|
21
|
+
prerelease: false
|
29
22
|
version_requirements: !ruby/object:Gem::Requirement
|
30
23
|
requirements:
|
31
|
-
- -
|
24
|
+
- - ">="
|
32
25
|
- !ruby/object:Gem::Version
|
33
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: progress-monitor
|
34
29
|
requirement: !ruby/object:Gem::Requirement
|
35
30
|
requirements:
|
36
|
-
- -
|
31
|
+
- - ">="
|
37
32
|
- !ruby/object:Gem::Version
|
38
33
|
version: '0'
|
39
|
-
prerelease: false
|
40
34
|
type: :runtime
|
41
|
-
|
42
|
-
name: lockfile
|
35
|
+
prerelease: false
|
43
36
|
version_requirements: !ruby/object:Gem::Requirement
|
44
37
|
requirements:
|
45
|
-
- -
|
38
|
+
- - ">="
|
46
39
|
- !ruby/object:Gem::Version
|
47
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: lockfile
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
44
|
requirements:
|
50
|
-
- -
|
45
|
+
- - ">="
|
51
46
|
- !ruby/object:Gem::Version
|
52
47
|
version: '0'
|
53
|
-
prerelease: false
|
54
48
|
type: :runtime
|
55
|
-
|
56
|
-
name: spreadsheet
|
49
|
+
prerelease: false
|
57
50
|
version_requirements: !ruby/object:Gem::Requirement
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: spreadsheet
|
62
57
|
requirement: !ruby/object:Gem::Requirement
|
63
58
|
requirements:
|
64
|
-
- -
|
59
|
+
- - ">="
|
65
60
|
- !ruby/object:Gem::Version
|
66
61
|
version: '0'
|
67
|
-
prerelease: false
|
68
62
|
type: :runtime
|
69
|
-
|
70
|
-
name: highline
|
63
|
+
prerelease: false
|
71
64
|
version_requirements: !ruby/object:Gem::Requirement
|
72
65
|
requirements:
|
73
|
-
- -
|
66
|
+
- - ">="
|
74
67
|
- !ruby/object:Gem::Version
|
75
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: highline
|
76
71
|
requirement: !ruby/object:Gem::Requirement
|
77
72
|
requirements:
|
78
|
-
- -
|
73
|
+
- - ">="
|
79
74
|
- !ruby/object:Gem::Version
|
80
75
|
version: '0'
|
81
|
-
prerelease: false
|
82
76
|
type: :runtime
|
83
|
-
|
84
|
-
name: term-ansicolor
|
77
|
+
prerelease: false
|
85
78
|
version_requirements: !ruby/object:Gem::Requirement
|
86
79
|
requirements:
|
87
|
-
- -
|
80
|
+
- - ">="
|
88
81
|
- !ruby/object:Gem::Version
|
89
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: term-ansicolor
|
90
85
|
requirement: !ruby/object:Gem::Requirement
|
91
86
|
requirements:
|
92
|
-
- -
|
87
|
+
- - ">="
|
93
88
|
- !ruby/object:Gem::Version
|
94
89
|
version: '0'
|
95
|
-
prerelease: false
|
96
90
|
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
97
|
description: Utilities for handling tsv files, caches, etc
|
98
98
|
email: miguel.vazquez@cnio.es
|
99
99
|
executables:
|
@@ -152,6 +152,7 @@ files:
|
|
152
152
|
- lib/rbbt/tsv/filter.rb
|
153
153
|
- lib/rbbt/tsv/index.rb
|
154
154
|
- lib/rbbt/tsv/manipulate.rb
|
155
|
+
- lib/rbbt/tsv/parallel.rb
|
155
156
|
- lib/rbbt/tsv/parser.rb
|
156
157
|
- lib/rbbt/tsv/serializers.rb
|
157
158
|
- lib/rbbt/tsv/util.rb
|
@@ -250,6 +251,7 @@ files:
|
|
250
251
|
- test/rbbt/tsv/test_filter.rb
|
251
252
|
- test/rbbt/tsv/test_index.rb
|
252
253
|
- test/rbbt/tsv/test_manipulate.rb
|
254
|
+
- test/rbbt/tsv/test_parallel.rb
|
253
255
|
- test/rbbt/tsv/test_util.rb
|
254
256
|
- test/rbbt/util/simpleopt/test_get.rb
|
255
257
|
- test/rbbt/util/simpleopt/test_parse.rb
|
@@ -274,39 +276,33 @@ homepage: http://github.com/mikisvaz/rbbt-util
|
|
274
276
|
licenses:
|
275
277
|
- MIT
|
276
278
|
metadata: {}
|
277
|
-
post_install_message:
|
279
|
+
post_install_message:
|
278
280
|
rdoc_options: []
|
279
281
|
require_paths:
|
280
282
|
- lib
|
281
283
|
required_ruby_version: !ruby/object:Gem::Requirement
|
282
284
|
requirements:
|
283
|
-
- -
|
285
|
+
- - ">="
|
284
286
|
- !ruby/object:Gem::Version
|
285
287
|
version: '0'
|
286
288
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
287
289
|
requirements:
|
288
|
-
- -
|
290
|
+
- - ">="
|
289
291
|
- !ruby/object:Gem::Version
|
290
292
|
version: '0'
|
291
293
|
requirements: []
|
292
|
-
rubyforge_project:
|
293
|
-
rubygems_version: 2.2.
|
294
|
-
signing_key:
|
294
|
+
rubyforge_project:
|
295
|
+
rubygems_version: 2.2.1
|
296
|
+
signing_key:
|
295
297
|
specification_version: 4
|
296
298
|
summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
|
297
299
|
test_files:
|
298
|
-
- test/test_helper.rb
|
299
300
|
- test/rbbt/test_workflow.rb
|
300
|
-
- test/rbbt/test_association.rb
|
301
|
-
- test/rbbt/test_resource.rb
|
302
|
-
- test/rbbt/test_entity.rb
|
303
|
-
- test/rbbt/test_knowledge_base.rb
|
304
|
-
- test/rbbt/test_tsv.rb
|
305
|
-
- test/rbbt/test_persist.rb
|
306
|
-
- test/rbbt/test_annotations.rb
|
307
|
-
- test/rbbt/test_fix_width_table.rb
|
308
301
|
- test/rbbt/resource/test_path.rb
|
309
302
|
- test/rbbt/util/test_cmd.rb
|
303
|
+
- test/rbbt/util/simpleopt/test_setup.rb
|
304
|
+
- test/rbbt/util/simpleopt/test_get.rb
|
305
|
+
- test/rbbt/util/simpleopt/test_parse.rb
|
310
306
|
- test/rbbt/util/test_chain_methods.rb
|
311
307
|
- test/rbbt/util/test_simpleDSL.rb
|
312
308
|
- test/rbbt/util/test_log.rb
|
@@ -319,13 +315,17 @@ test_files:
|
|
319
315
|
- test/rbbt/util/test_semaphore.rb
|
320
316
|
- test/rbbt/util/test_misc.rb
|
321
317
|
- test/rbbt/util/test_tmpfile.rb
|
322
|
-
- test/rbbt/
|
323
|
-
- test/rbbt/
|
324
|
-
- test/rbbt/
|
318
|
+
- test/rbbt/test_association.rb
|
319
|
+
- test/rbbt/test_resource.rb
|
320
|
+
- test/rbbt/test_entity.rb
|
321
|
+
- test/rbbt/test_knowledge_base.rb
|
325
322
|
- test/rbbt/association/test_index.rb
|
326
323
|
- test/rbbt/association/test_item.rb
|
324
|
+
- test/rbbt/test_tsv.rb
|
327
325
|
- test/rbbt/workflow/test_task.rb
|
328
326
|
- test/rbbt/workflow/test_step.rb
|
327
|
+
- test/rbbt/test_persist.rb
|
328
|
+
- test/rbbt/test_annotations.rb
|
329
329
|
- test/rbbt/persist/test_tsv.rb
|
330
330
|
- test/rbbt/persist/tsv/test_lmdb.rb
|
331
331
|
- test/rbbt/persist/tsv/test_kyotocabinet.rb
|
@@ -333,6 +333,7 @@ test_files:
|
|
333
333
|
- test/rbbt/persist/tsv/test_tokyocabinet.rb
|
334
334
|
- test/rbbt/persist/tsv/test_leveldb.rb
|
335
335
|
- test/rbbt/tsv/test_field_index.rb
|
336
|
+
- test/rbbt/tsv/test_parallel.rb
|
336
337
|
- test/rbbt/tsv/test_index.rb
|
337
338
|
- test/rbbt/tsv/test_change_id.rb
|
338
339
|
- test/rbbt/tsv/test_util.rb
|
@@ -340,3 +341,5 @@ test_files:
|
|
340
341
|
- test/rbbt/tsv/test_filter.rb
|
341
342
|
- test/rbbt/tsv/test_attach.rb
|
342
343
|
- test/rbbt/tsv/test_manipulate.rb
|
344
|
+
- test/rbbt/test_fix_width_table.rb
|
345
|
+
- test/test_helper.rb
|