zold-stress 0.3.0 → 0.4.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/fixtures/scripts/_head.sh +3 -3
- data/fixtures/scripts/multi-node.sh +43 -0
- data/fixtures/scripts/simple-stress.sh +0 -2
- data/test/zold/stress/test_bin.rb +1 -1
- data/test/zold/stress/test_pmnts.rb +6 -8
- data/zold-stress.gemspec +2 -2
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c90871cd798490aa7f7e5a12f76f8718e87d4afa6ae317978421af9653894daa
|
|
4
|
+
data.tar.gz: ac7dca0ce155557979cda5b84de7a5c59bd3f24c0bc56508314a74bd48eab128
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3fcb3514254228cbe6fd2a58b0e55c45d1ce733ad0440d613f13bdada048e9acfcbc0e9707aded1e4df3413db756f2d17f8fb442241c1a5e1f0d10f6c4703ac2
|
|
7
|
+
data.tar.gz: 31f8615457c59a9eb659f388e7cf12b0fc3ed0d23d4ccfd502362451f88edabeaca412ff63d97025729c3002a620a8b7851ac0bc2658c8ddc6a3355c83b7c3fb
|
data/fixtures/scripts/_head.sh
CHANGED
|
@@ -20,7 +20,7 @@ function wait_for_url {
|
|
|
20
20
|
echo "URL $1 is not available after ${i} attempts"
|
|
21
21
|
exit 12
|
|
22
22
|
fi
|
|
23
|
-
sleep
|
|
23
|
+
sleep 1
|
|
24
24
|
done
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -32,7 +32,7 @@ function wait_for_port {
|
|
|
32
32
|
echo "Port $1 is not available after ${i} attempts"
|
|
33
33
|
exit 13
|
|
34
34
|
fi
|
|
35
|
-
sleep
|
|
35
|
+
sleep 1
|
|
36
36
|
done
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -48,7 +48,7 @@ function halt_nodes {
|
|
|
48
48
|
exit 15
|
|
49
49
|
fi
|
|
50
50
|
echo "Still waiting for process ${pid} to die, attempt no.${i}"
|
|
51
|
-
sleep
|
|
51
|
+
sleep 1
|
|
52
52
|
done
|
|
53
53
|
echo "Process ${pid} is dead!"
|
|
54
54
|
fi
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
function start_node {
|
|
4
|
+
port=$(reserve_port)
|
|
5
|
+
mkdir ${port}
|
|
6
|
+
cd ${port}
|
|
7
|
+
zold node --trace --invoice=MULTINODE@ffffffffffffffff \
|
|
8
|
+
--host=localhost --port=${port} --bind-port=${port} --dump-errors \
|
|
9
|
+
--no-metronome --halt-code=test --threads=1 --strength=2 > log.txt &
|
|
10
|
+
pid=$!
|
|
11
|
+
echo ${pid} > pid
|
|
12
|
+
cd ..
|
|
13
|
+
wait_for_url http://localhost:${port}/
|
|
14
|
+
echo ${port}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
nodes=($(start_node) $(start_node) $(start_node) $(start_node))
|
|
18
|
+
trap "halt_nodes ${nodes[*]}" EXIT
|
|
19
|
+
for port in ${nodes[@]}; do
|
|
20
|
+
cd ${port}
|
|
21
|
+
zold remote clean
|
|
22
|
+
for friend in ${nodes[@]}; do
|
|
23
|
+
if [ "${port}" != "${friend}" ]; then
|
|
24
|
+
zold remote add localhost ${friend}
|
|
25
|
+
fi
|
|
26
|
+
done
|
|
27
|
+
cd ..
|
|
28
|
+
done
|
|
29
|
+
|
|
30
|
+
zold remote clean
|
|
31
|
+
for port in ${nodes[@]}; do
|
|
32
|
+
zold remote add localhost ${port}
|
|
33
|
+
done
|
|
34
|
+
|
|
35
|
+
zold --public-key=id_rsa.pub create 0000000000000000
|
|
36
|
+
zold --public-key=id_rsa.pub create abcdabcdabcdabcd
|
|
37
|
+
zold pay --private-key=id_rsa 0000000000000000 abcdabcdabcdabcd 4.95 'To test'
|
|
38
|
+
zold push 0000000000000000 --ignore-score-weakness
|
|
39
|
+
zold remove 0000000000000000
|
|
40
|
+
|
|
41
|
+
zold-stress --rounds=8 --wait=10 --threads=${#nodes[@]} --pool=8 --batch=8 --private-key=id_rsa --ignore-score-weakness
|
|
42
|
+
|
|
43
|
+
zold show
|
|
@@ -33,7 +33,7 @@ require_relative '../test__helper'
|
|
|
33
33
|
# License:: MIT
|
|
34
34
|
class TestBin < Minitest::Test
|
|
35
35
|
Dir.new('fixtures/scripts').select { |f| f =~ /\.sh$/ && !f.start_with?('_') }.each do |f|
|
|
36
|
-
define_method("
|
|
36
|
+
define_method("test_#{f.gsub(/\.sh$/, '').gsub(/[^a-z]/, '_')}") do
|
|
37
37
|
start = Time.now
|
|
38
38
|
test_log.debug("\n\n#{f} running...")
|
|
39
39
|
Dir.mktmpdir do |dir|
|
|
@@ -69,17 +69,14 @@ class PmntsTest < Minitest::Test
|
|
|
69
69
|
Dir.mktmpdir do |home|
|
|
70
70
|
wallets = Zold::Wallets.new(home)
|
|
71
71
|
remotes = Zold::Remotes.new(file: File.join(home, 'remotes'), network: 'test')
|
|
72
|
-
Zold::Create.new(wallets: wallets, log: test_log).run(
|
|
73
|
-
['create', '--public-key=fixtures/id_rsa.pub', Zold::Id::ROOT.to_s, '--network=test']
|
|
74
|
-
)
|
|
75
72
|
ids = []
|
|
76
|
-
|
|
73
|
+
6.times do
|
|
77
74
|
id = Zold::Create.new(wallets: wallets, log: test_log).run(
|
|
78
|
-
['create', '--public-key=fixtures/id_rsa.pub', '--network=test']
|
|
79
|
-
)
|
|
80
|
-
Zold::Pay.new(wallets: wallets, remotes: remotes, log: test_log).run(
|
|
81
|
-
['pay', Zold::Id::ROOT.to_s, id.to_s, '7.00', 'start', '--private-key=fixtures/id_rsa']
|
|
75
|
+
['create', '--public-key=fixtures/id_rsa.pub', Zold::Id.new.to_s, '--network=test']
|
|
82
76
|
)
|
|
77
|
+
wallets.find(id) do |w|
|
|
78
|
+
w.add(Zold::Txn.new(1, Time.now, Zold::Amount.new(zld: 1.0), 'NOPREFIX', Zold::Id.new, '-'))
|
|
79
|
+
end
|
|
83
80
|
ids << id
|
|
84
81
|
end
|
|
85
82
|
sent = Zold::Stress::Pmnts.new(
|
|
@@ -91,6 +88,7 @@ class PmntsTest < Minitest::Test
|
|
|
91
88
|
log: test_log, vlog: test_log
|
|
92
89
|
).send
|
|
93
90
|
assert_equal(20, sent.count)
|
|
91
|
+
assert_equal(46, wallets.all.map { |id| wallets.find(id) { |w| w.txns.count } }.inject(&:+))
|
|
94
92
|
assert_equal(ids.sort, sent.map { |s| s[:source] }.sort.uniq)
|
|
95
93
|
end
|
|
96
94
|
end
|
data/zold-stress.gemspec
CHANGED
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
|
|
|
27
27
|
s.rubygems_version = '2.2'
|
|
28
28
|
s.required_ruby_version = '>=2.3'
|
|
29
29
|
s.name = 'zold-stress'
|
|
30
|
-
s.version = '0.
|
|
30
|
+
s.version = '0.4.0'
|
|
31
31
|
s.license = 'MIT'
|
|
32
32
|
s.summary = 'Zold stress test'
|
|
33
33
|
s.description = 'Stress testing toolkit for Zold network'
|
|
@@ -41,7 +41,7 @@ Gem::Specification.new do |s|
|
|
|
41
41
|
s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
|
|
42
42
|
s.add_runtime_dependency 'backtrace', '0.3.0'
|
|
43
43
|
s.add_runtime_dependency 'parallelize', '0.4.1'
|
|
44
|
-
s.add_runtime_dependency 'zold', '0.16.
|
|
44
|
+
s.add_runtime_dependency 'zold', '0.16.22'
|
|
45
45
|
s.add_development_dependency 'codecov', '0.1.13'
|
|
46
46
|
s.add_development_dependency 'minitest', '5.11.3'
|
|
47
47
|
s.add_development_dependency 'random-port', '0.3.0'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zold-stress
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yegor Bugayenko
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-11-
|
|
11
|
+
date: 2018-11-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: backtrace
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - '='
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.16.
|
|
47
|
+
version: 0.16.22
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - '='
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0.16.
|
|
54
|
+
version: 0.16.22
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: codecov
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -180,6 +180,7 @@ files:
|
|
|
180
180
|
- fixtures/id_rsa
|
|
181
181
|
- fixtures/id_rsa.pub
|
|
182
182
|
- fixtures/scripts/_head.sh
|
|
183
|
+
- fixtures/scripts/multi-node.sh
|
|
183
184
|
- fixtures/scripts/simple-stress.sh
|
|
184
185
|
- lib/zold/stress/air.rb
|
|
185
186
|
- lib/zold/stress/pmnts.rb
|