filecluster 0.3.5 → 0.3.6
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.
- data/.gitignore +1 -0
- data/lib/fc/storage.rb +2 -2
- data/lib/fc/version.rb +1 -1
- data/test/functional_test.rb +14 -17
- metadata +5 -4
data/.gitignore
CHANGED
data/lib/fc/storage.rb
CHANGED
@@ -112,8 +112,8 @@ module FC
|
|
112
112
|
def md5_sum(file_name)
|
113
113
|
dst_path = "#{self.path}#{file_name}"
|
114
114
|
cmd = self.class.curr_host == host ?
|
115
|
-
"find #{dst_path} -type f -exec md5sum {} \\; | awk '{print $1}' | sort | md5sum" :
|
116
|
-
"ssh -oBatchMode=yes -oStrictHostKeyChecking=no #{self.host} \"find #{dst_path} -type f -exec md5sum {} \\; | awk '{print \\$1}' | sort | md5sum\""
|
115
|
+
"find #{dst_path.shellescape} -type f -exec md5sum {} \\; | awk '{print $1}' | sort | md5sum" :
|
116
|
+
"ssh -oBatchMode=yes -oStrictHostKeyChecking=no #{self.host} \"find #{dst_path.shellescape} -type f -exec md5sum {} \\; | awk '{print \\$1}' | sort | md5sum\""
|
117
117
|
r = `#{cmd} 2>&1`
|
118
118
|
raise r if $?.exitstatus != 0
|
119
119
|
r.to_s[0..31]
|
data/lib/fc/version.rb
CHANGED
data/test/functional_test.rb
CHANGED
@@ -6,16 +6,14 @@ class FunctionalTest < Test::Unit::TestCase
|
|
6
6
|
# tmp fake storages dirs
|
7
7
|
`rm -rf /tmp/host*-sd*`
|
8
8
|
`mkdir -p /tmp/host1-sda/ /tmp/host2-sda/`
|
9
|
-
`rm -rf /tmp/fc_test_dir`
|
10
|
-
`mkdir -p /tmp/fc_test_dir`
|
11
9
|
|
12
10
|
# test file to copy
|
13
|
-
@@test_file_path = '/tmp/
|
14
|
-
`dd if=/dev/urandom of=#{@@test_file_path} bs=100K count=1 2>&1`
|
15
|
-
@@test_dir_path = '/tmp/
|
16
|
-
`mkdir -p #{@@test_dir_path}/aaa #{@@test_dir_path}/bbb`
|
17
|
-
`cp #{@@test_file_path} #{@@test_dir_path}/aaa/test1`
|
18
|
-
`cp #{@@test_file_path} #{@@test_dir_path}/bbb/test2`
|
11
|
+
@@test_file_path = '/tmp/fc test_file "~!@#$%^&*()_+|\';'
|
12
|
+
`dd if=/dev/urandom of=#{@@test_file_path.shellescape} bs=100K count=1 2>&1`
|
13
|
+
@@test_dir_path = '/tmp/fc test_dir'
|
14
|
+
`mkdir -p #{@@test_dir_path.shellescape}/aaa #{@@test_dir_path.shellescape}/bbb`
|
15
|
+
`cp #{@@test_file_path.shellescape} #{@@test_dir_path.shellescape}/aaa/test1`
|
16
|
+
`cp #{@@test_file_path.shellescape} #{@@test_dir_path.shellescape}/bbb/test2`
|
19
17
|
|
20
18
|
@@storages = []
|
21
19
|
@@storages << FC::Storage.new(:name => 'host1-sda', :host => 'host1', :path => '/tmp/host1-sda/', :size_limit => 1000000, :check_time => Time.new.to_i)
|
@@ -37,9 +35,9 @@ class FunctionalTest < Test::Unit::TestCase
|
|
37
35
|
FC::DB.query("DELETE FROM items")
|
38
36
|
FC::DB.query("DELETE FROM policies")
|
39
37
|
FC::DB.query("DELETE FROM storages")
|
40
|
-
|
41
|
-
|
42
|
-
|
38
|
+
#`rm -rf /tmp/host*-sd*`
|
39
|
+
#`rm -rf #{@@test_file_path.shellescape}`
|
40
|
+
#`rm -rf #{@@test_dir_path.shellescape}`
|
43
41
|
end
|
44
42
|
end
|
45
43
|
|
@@ -51,7 +49,7 @@ class FunctionalTest < Test::Unit::TestCase
|
|
51
49
|
should "item create_from_local successful" do
|
52
50
|
assert_nothing_raised { @item = FC::Item.create_from_local(@@test_file_path, '/bla/bla/test1', @@policies[0], {:tag => 'test'}) }
|
53
51
|
assert_kind_of FC::Item, @item
|
54
|
-
assert_equal `du -sb /tmp/host1-sda/bla/bla/test1 2>&1`.to_i, `du -sb #{@@test_file_path} 2>&1`.to_i
|
52
|
+
assert_equal `du -sb /tmp/host1-sda/bla/bla/test1 2>&1`.to_i, `du -sb #{@@test_file_path.shellescape} 2>&1`.to_i
|
55
53
|
assert_equal `du -sb /tmp/host1-sda/bla/bla/test1 2>&1`.to_i, @item.size
|
56
54
|
assert_equal 'ready', @item.status
|
57
55
|
item_storages = @item.get_item_storages
|
@@ -65,7 +63,7 @@ class FunctionalTest < Test::Unit::TestCase
|
|
65
63
|
assert_nothing_raised { @item = FC::Item.create_from_local(@@test_dir_path, '/bla/bla/test_dir', @@policies[0], {:tag => 'test_dir'}) }
|
66
64
|
assert_kind_of FC::Item, @item
|
67
65
|
assert_equal true, @item.dir?
|
68
|
-
assert_equal `du -sb /tmp/host1-sda/bla/bla/test_dir 2>&1`.to_i, `du -sb #{@@test_dir_path} 2>&1`.to_i
|
66
|
+
assert_equal `du -sb /tmp/host1-sda/bla/bla/test_dir 2>&1`.to_i, `du -sb #{@@test_dir_path.shellescape} 2>&1`.to_i
|
69
67
|
assert_equal `du -sb /tmp/host1-sda/bla/bla/test_dir 2>&1`.to_i, @item.size
|
70
68
|
assert_equal 'ready', @item.status
|
71
69
|
item_storages = @item.get_item_storages
|
@@ -108,14 +106,13 @@ class FunctionalTest < Test::Unit::TestCase
|
|
108
106
|
@item = FC::Item.create_from_local(@@test_file_path, 'test5', @@policies[0], {:tag => 'test'})
|
109
107
|
item_storage = @item.make_item_storage(@@storages[0], status = 'copy')
|
110
108
|
`dd if=/dev/urandom of=#{@@storages[0].path}#{@item.name} bs=100K count=1 2>&1`
|
111
|
-
#`dd if=/dev/urandom of=#{@@storages[0].path}#{@item.name} bs=100K count=1 2>&1`
|
112
109
|
assert_raise(RuntimeError) { @item.copy_item_storage(@@storages[0], @@storages[1], item_storage) }
|
113
110
|
assert_equal errors_count+1, FC::Error.where.count, "Error not saved after check md5"
|
114
111
|
end
|
115
112
|
|
116
113
|
should "item create_from_local inplace" do
|
117
|
-
tmp_file_path = "/tmp/host2-sda/
|
118
|
-
`cp #{@@test_file_path} #{tmp_file_path}`
|
119
|
-
assert_nothing_raised { @item = FC::Item.create_from_local(tmp_file_path, '
|
114
|
+
tmp_file_path = "/tmp/host2-sda/inplace test"
|
115
|
+
`cp #{@@test_file_path.shellescape} #{tmp_file_path.shellescape}`
|
116
|
+
assert_nothing_raised { @item = FC::Item.create_from_local(tmp_file_path, 'inplace test', @@policies[0]) }
|
120
117
|
end
|
121
118
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filecluster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-04-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rb-readline
|
@@ -134,6 +134,7 @@ extensions: []
|
|
134
134
|
extra_rdoc_files: []
|
135
135
|
files:
|
136
136
|
- .gitignore
|
137
|
+
- .idea/dataSources.xml
|
137
138
|
- Gemfile
|
138
139
|
- LICENSE
|
139
140
|
- README.md
|
@@ -193,7 +194,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
194
|
version: '0'
|
194
195
|
segments:
|
195
196
|
- 0
|
196
|
-
hash:
|
197
|
+
hash: 1955679762041563204
|
197
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
199
|
none: false
|
199
200
|
requirements:
|
@@ -202,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
203
|
version: '0'
|
203
204
|
segments:
|
204
205
|
- 0
|
205
|
-
hash:
|
206
|
+
hash: 1955679762041563204
|
206
207
|
requirements: []
|
207
208
|
rubyforge_project:
|
208
209
|
rubygems_version: 1.8.24
|