rbbt-util 5.6.17 → 5.7.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|