knjrbfw 0.0.110 → 0.0.111

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +2 -2
  4. data/VERSION +1 -1
  5. data/knjrbfw.gemspec +8 -36
  6. data/lib/knj/autoload.rb +1 -2
  7. data/lib/knj/gtk2_window.rb +7 -7
  8. data/lib/knj/unix_proc.rb +35 -35
  9. metadata +33 -62
  10. data/lib/knj/db.rb +0 -1
  11. data/lib/knj/knjdb/dbtime.rb +0 -35
  12. data/lib/knj/knjdb/drivers/mysql/knjdb_mysql.rb +0 -604
  13. data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_columns.rb +0 -155
  14. data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_indexes.rb +0 -69
  15. data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_sqlspecs.rb +0 -5
  16. data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_tables.rb +0 -443
  17. data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb +0 -184
  18. data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_columns.rb +0 -177
  19. data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_indexes.rb +0 -29
  20. data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_sqlspecs.rb +0 -5
  21. data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_tables.rb +0 -449
  22. data/lib/knj/knjdb/dump.rb +0 -122
  23. data/lib/knj/knjdb/idquery.rb +0 -109
  24. data/lib/knj/knjdb/libknjdb.rb +0 -797
  25. data/lib/knj/knjdb/libknjdb_java_sqlite3.rb +0 -83
  26. data/lib/knj/knjdb/libknjdb_row.rb +0 -153
  27. data/lib/knj/knjdb/libknjdb_sqlite3_ironruby.rb +0 -69
  28. data/lib/knj/knjdb/query_buffer.rb +0 -87
  29. data/lib/knj/knjdb/revision.rb +0 -342
  30. data/lib/knj/knjdb/sqlspecs.rb +0 -5
  31. data/lib/knj/objects.rb +0 -957
  32. data/lib/knj/process.rb +0 -480
  33. data/lib/knj/process_meta.rb +0 -569
  34. data/spec/db_spec.rb +0 -282
  35. data/spec/db_spec_encoding_test_file.txt +0 -1
  36. data/spec/objects_spec.rb +0 -394
  37. data/spec/process_meta_spec.rb +0 -172
  38. data/spec/process_spec.rb +0 -115
@@ -1,172 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "Process_meta" do
4
- it "should be able to start a server and a client" do
5
- require "knj/process_meta"
6
- require "timeout"
7
-
8
- #Start the activity.
9
- $process_meta = Knj::Process_meta.new("debug" => true, "debug_err" => true, "id" => "process_meta_spec")
10
- end
11
-
12
- it "should be able to do simple blocks" do
13
- block_ran = false
14
- fpath = "#{Knj::Os.tmpdir}/process_meta_file_open"
15
-
16
- Timeout.timeout(4) do
17
- $process_meta.static(:File, :open, fpath, "w") do |fp|
18
- block_ran = true
19
- fp.write("Test!")
20
- end
21
- end
22
-
23
- raise "Block didnt run!" if !block_ran
24
- raise "Unexpected file-content." if File.read(fpath) != "Test!"
25
- File.unlink(fpath) if File.exists?(fpath)
26
- end
27
-
28
- it "should be able to do various operations" do
29
- #Test that breaking a block wont continue to run in the process.
30
- $process_meta.str_eval("
31
- class Testclass
32
- attr_reader :last_num
33
-
34
- def initialize
35
- @num = 0
36
- end
37
-
38
- def test_block
39
- @num.upto(10) do |i|
40
- @last_num = i
41
- yield(i)
42
- end
43
- end
44
- end
45
- ")
46
-
47
- proxy_obj = $process_meta.new(:Testclass)
48
- proxy_obj2 = $process_meta.new(:Testclass)
49
- proxy_obj3 = $process_meta.new(:Testclass)
50
-
51
- $ids = []
52
- $ids << proxy_obj.__id__
53
- $ids << proxy_obj2.__id__
54
- $ids << proxy_obj3.__id__
55
-
56
- proxy_obj.test_block do |i|
57
- break if i == 5
58
- end
59
-
60
- last_num = proxy_obj.last_num
61
- raise "Expected last num to be 5 but it wasnt: '#{last_num}'." if last_num != 5
62
-
63
- #Somehow define_finalizer is always one behind, so we have to do another funny one here.
64
- ObjectSpace.define_finalizer(self, $process_meta.method(:proxy_finalizer))
65
- end
66
-
67
- it "should be able to do more" do
68
- GC.start
69
-
70
- #Its difficult to test this on JRuby.
71
- if RUBY_ENGINE != "jruby"
72
- count = 0
73
- $ids.each do |id|
74
- count += 1
75
- raise "The object should no longer exist but it does: #{count}." if $process_meta.proxy_has?(id)
76
- end
77
- end
78
-
79
-
80
- #Spawn a test-object - a string - with a variable-name.
81
- proxy_obj = $process_meta.spawn_object(:String, "my_test_var", "Kasper")
82
- raise "to_s should return 'Kasper' but didnt: '#{proxy_obj.to_s}'." if proxy_obj.to_s != "Kasper"
83
-
84
- #Stress it a little by doing 500 calls.
85
- 0.upto(500) do
86
- res = proxy_obj.slice(0, 3)
87
- raise "Expected output was: 'Kas' but wasnt: '#{res}'." if res != "Kas"
88
- end
89
-
90
- #Do a lot of calls at the same time to test thread-safety.
91
- threads = []
92
- 0.upto(10) do |thread_i|
93
- should_return = "Kasper".slice(0, thread_i)
94
- thread = Knj::Thread.new do
95
- 0.upto(500) do |num_i|
96
- res = proxy_obj.slice(0, thread_i)
97
- raise "Should return: '#{should_return}' but didnt: '#{res}'." if res != should_return
98
- end
99
- end
100
-
101
- threads << thread
102
- end
103
-
104
- threads.each do |thread|
105
- thread.join
106
- end
107
-
108
-
109
-
110
- #Try to define an integer and run upto with a block.
111
- proxy_int = $process_meta.spawn_object(:Integer, nil, 5)
112
- expect = 5
113
- proxy_int.upto(1000) do |i|
114
- raise "Expected '#{expect}' but got: '#{i}'." if i != expect
115
- expect += 1
116
- end
117
-
118
- #Ensure the expected has actually been increased by running the block.
119
- raise "Expected end-result of 1001 but got: '#{expect}'." if expect != 1001
120
-
121
-
122
- proxy_int = $process_meta.spawn_object(:Integer, nil, 5)
123
- proxy_int._process_meta_block_buffer_use = true
124
- expect = 5
125
-
126
- #If this takes more than 10 secs - something is wrong (JRuby can take a long time)...
127
- Timeout.timeout(10) do
128
- proxy_int.upto(10000) do |i|
129
- raise "Expected '#{expect}' but got: '#{i}'." if i != expect
130
- expect += 1
131
- end
132
- end
133
-
134
-
135
- #Ensure the expected has actually been increased by running the block.
136
- raise "Expected end-result of 10001 but got: '#{expect}'." if expect != 10001
137
-
138
- #Try to unset an object.
139
- proxy_obj._process_meta_unset
140
- proxy_int._process_meta_unset
141
- end
142
-
143
- it "should be able to do slow block-results in JRuby." do
144
- $process_meta.str_eval("
145
- class Kaspertest
146
- def self.kaspertest
147
- 8.upto(12) do |i|
148
- yield(i)
149
- sleep 0.5
150
- end
151
- end
152
- end
153
-
154
- nil
155
- ")
156
-
157
- Timeout.timeout(10) do
158
- expect = 8
159
- $process_meta.static("Kaspertest", "kaspertest") do |count|
160
- raise "Expected '#{expect}' but got: '#{count}'." if expect != count
161
- expect += 1
162
- end
163
-
164
- raise "Expected '13' but got: '#{expect}'." if expect != 13
165
- end
166
- end
167
-
168
- it "should be able to be destroyed." do
169
- #Destroy the process-meta which should stop the process.
170
- $process_meta.destroy
171
- end
172
- end
@@ -1,115 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- require "socket"
4
-
5
- describe "Process" do
6
- it "should be able to start a server and a client" do
7
- require "timeout"
8
-
9
- tcp_server = TCPServer.new("0.0.0.0", 15678)
10
- conn_client = TCPSocket.new("localhost", 15678)
11
- conn_server = tcp_server.accept
12
-
13
- answers = {}
14
-
15
- $process_server = Knj::Process.new(
16
- :in => conn_server,
17
- :out => conn_server,
18
- :debug => false,
19
- :listen => true,
20
- :on_rec => proc{|d|
21
- if d.obj == "hello server"
22
- d.answer("hello back client")
23
- elsif match = d.obj.match(/^test (\d+)$/)
24
- d.answer("testanswer #{match[1]}")
25
- else
26
- raise "Received unknown object: '#{d.obj}'."
27
- end
28
- }
29
- )
30
-
31
- $process_client = Knj::Process.new(
32
- :in => conn_client,
33
- :out => conn_client,
34
- :debug => false,
35
- :listen => true,
36
- :on_rec => proc{|d, &block|
37
- if d.obj == "hello client"
38
- d.answer("hello back server")
39
- elsif d.obj == "test_block"
40
- raise "No block was given." if !block
41
- 0.upto(100) do |i|
42
- #$stderr.print "Calling block with: #{i}\n"
43
- block.call(i)
44
- end
45
-
46
- d.answer("ok")
47
- else
48
- raise "Received unknown object: '#{d.obj}'."
49
- end
50
- }
51
- )
52
-
53
- Timeout.timeout(1) do
54
- answer = $process_server.send("hello client")
55
- raise "Unexpected answer: '#{answer}'." if answer != "hello back server"
56
- end
57
-
58
- Timeout.timeout(1) do
59
- answer = $process_client.send("hello server")
60
- raise "Unexpected answer: '#{answer}'." if answer != "hello back client"
61
- end
62
-
63
- #Stress it by doing 1000 requests.
64
- if RUBY_ENGINE == "jruby"
65
- tout = 7
66
- else
67
- tout = 2
68
- end
69
-
70
- Timeout.timeout(tout) do
71
- 0.upto(1000) do |count|
72
- #$stderr.print "Testing #{count}\n"
73
- answer = $process_client.send("test #{count}")
74
- match = answer.match(/^testanswer (\d+)$/)
75
- raise "Unexpected answer: '#{answer}'." if !match
76
- end
77
- end
78
-
79
-
80
- #Run a test block.
81
- expect = 0
82
- $process_server.send("test_block") do |ele|
83
- #$stderr.print "test_block: #{ele}\n"
84
- raise "Expected '#{expect}' but got: '#{ele}'." if ele != expect
85
- expect += 1
86
- end
87
-
88
-
89
- #Run several test blocks at the same time.
90
- threads = []
91
- results = {} #this can be used for debugging.
92
-
93
- 0.upto(10) do |thread_id|
94
- threads << Knj::Thread.new do
95
- myres = []
96
- expect_thread = 0
97
- $process_server.send("test_block") do |ele|
98
- #$stderr.print "test_block: #{ele}\n"
99
- myres << [ele, expect_thread]
100
- raise "Expected '#{expect_thread}' but got: '#{ele}'." if ele != expect_thread
101
- expect_thread += 1
102
- end
103
-
104
- results[thread_id] = myres
105
- end
106
- end
107
-
108
- threads.each do |thread|
109
- thread.join
110
- end
111
-
112
- #this can be used for debugging.
113
- #Php4r.print_r(results)
114
- end
115
- end