rscm-accurev 0.0.6 → 0.0.7
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/Rakefile +70 -1
- data/STATUS +11 -14
- data/TODO +13 -13
- data/bumprelease.sh +1 -1
- data/lib/rscm/accurev.rb +1 -1
- data/lib/rscm/scm/accurev/api.rb +12 -0
- metadata +15 -4
data/Rakefile
CHANGED
@@ -34,6 +34,8 @@ end
|
|
34
34
|
|
35
35
|
test_files = FileList.new( "test/**/t_*.rb" )
|
36
36
|
TEST_OUTPUT = "html/test"
|
37
|
+
# cumulative test results over time
|
38
|
+
TEST_TRACKING = "doc/tests.tab"
|
37
39
|
|
38
40
|
Rake::TestTask.new( :plaintest ) do |t|
|
39
41
|
t.libs << "test"
|
@@ -69,6 +71,72 @@ task :backup_testresults do
|
|
69
71
|
#puts "...Backing up previous test results to #{new}"
|
70
72
|
mv( old, new )
|
71
73
|
end
|
74
|
+
xslt = 'lib/test/unit/ui/xml/xmltestrunner.xslt'
|
75
|
+
copy( xslt, TEST_OUTPUT )
|
76
|
+
end
|
77
|
+
|
78
|
+
task :post_test do
|
79
|
+
results = "#{TEST_OUTPUT}/testresults.xml"
|
80
|
+
# //result[@testcount,@assertcount,@errors,@failures,@passed=true]
|
81
|
+
require 'rexml/document'
|
82
|
+
include REXML
|
83
|
+
d = Document.new( File.open( results ) )
|
84
|
+
res = d.elements['//result']
|
85
|
+
testcount = res.attributes['testcount'].to_i
|
86
|
+
failed = res.attributes['errors'].to_i + res.attributes['failures'].to_i
|
87
|
+
pct_passed = 100 * (testcount-failed).to_f / testcount.to_f
|
88
|
+
unless File.exists?( TEST_TRACKING )
|
89
|
+
File.open( TEST_TRACKING, "w" ) do |out|
|
90
|
+
out.puts "# " + %w(
|
91
|
+
epoch tests asserts errors failures failedtests pct_success
|
92
|
+
).join("\t")
|
93
|
+
end
|
94
|
+
end
|
95
|
+
File.open( TEST_TRACKING, "a" ) do |out|
|
96
|
+
out.puts [
|
97
|
+
Time.now.to_i,
|
98
|
+
testcount,
|
99
|
+
res.attributes['assertcount'],
|
100
|
+
res.attributes['errors'],
|
101
|
+
res.attributes['failures'],
|
102
|
+
failed,
|
103
|
+
pct_passed
|
104
|
+
].join("\t")
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
task :rrdcreate do
|
109
|
+
sh "rrdtool create doc/tests.rrd " +
|
110
|
+
"-s 1800 " +
|
111
|
+
"DS:testcount:GAUGE:7200:0:U " +
|
112
|
+
"DS:passcount:GAUGE:7200:0:U " +
|
113
|
+
"RRA:AVERAGE:0.5:1:1440"
|
114
|
+
end
|
115
|
+
|
116
|
+
task :rrdupdate do
|
117
|
+
t = Time.now
|
118
|
+
count = 18
|
119
|
+
passing = 10
|
120
|
+
(1..30).each do
|
121
|
+
t += 1800
|
122
|
+
count += rand(5)
|
123
|
+
passing += rand(3)+1
|
124
|
+
passing = count if passing > count
|
125
|
+
sh "rrdtool update doc/tests.rrd " +
|
126
|
+
"#{t.to_i}:#{count}:#{passing}"
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
task :rrdgraph do
|
131
|
+
sh "rrdtool graph doc/tests.png " +
|
132
|
+
"--start 1125756000 --end 1125810000 " +
|
133
|
+
"DEF:tests=doc/tests.rrd:testcount:AVERAGE " +
|
134
|
+
"DEF:passed=doc/tests.rrd:passcount:AVERAGE " +
|
135
|
+
"LINE2:tests#FF0000 AREA:passed#00FF00"
|
136
|
+
end
|
137
|
+
|
138
|
+
task :rrdclean do
|
139
|
+
rm FileList[ 'doc/tests.png', 'doc/*.rrd' ]
|
72
140
|
end
|
73
141
|
|
74
142
|
# define a task to create rdocs
|
@@ -96,9 +164,10 @@ else
|
|
96
164
|
s.version = PKG_VERSION
|
97
165
|
s.summary = PKG_SUMMARY
|
98
166
|
s.description = "RSCM::Accurev is an RSCM API for the SCM tool Accurev (http://www.accurev.com/)."
|
167
|
+
s.add_dependency( 'rscm', '>= 0.3.0' )
|
99
168
|
s.files = PKG_FILES.to_a
|
100
169
|
s.require_path = 'lib'
|
101
|
-
s.autorequire = 'rscm/
|
170
|
+
s.autorequire = 'rscm/accurev'
|
102
171
|
s.has_rdoc = true
|
103
172
|
rd_task.options.each {|opt| s.rdoc_options << opt }
|
104
173
|
s.author = "Greg Fast"
|
data/STATUS
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
[checkout()] supported
|
9
9
|
|
10
|
-
- basic checkouts
|
10
|
+
- basic checkouts work, with pop and with workspace stream
|
11
11
|
|
12
12
|
- time-based checkouts do not work
|
13
13
|
|
@@ -21,36 +21,33 @@
|
|
21
21
|
|
22
22
|
[edit()] supported (no-op)
|
23
23
|
|
24
|
-
[revisions()] supported
|
25
|
-
|
26
|
-
- time-based limits do not work
|
27
|
-
|
28
|
-
- should be history-based
|
24
|
+
[revisions()] supported: basic and time-based limits
|
29
25
|
|
30
26
|
-------------------------------------------
|
31
27
|
|
32
28
|
== Accurev-specific API (RSCM::Accurev::API)
|
33
29
|
|
34
|
-
[ac_update()] unsupported, todo
|
35
|
-
|
36
30
|
[ac_files()] supported
|
37
31
|
|
38
|
-
[ac_info()] supported
|
32
|
+
[ac_info()] supported - need to check vs popped workspace
|
39
33
|
|
40
|
-
[ac_stat()]
|
34
|
+
[ac_stat()] supported
|
41
35
|
|
42
|
-
[
|
36
|
+
[ac_hist()] supported
|
43
37
|
|
44
|
-
[
|
38
|
+
[checkout_pop()] supported, at backing stream only (but backing stream
|
39
|
+
could be a version...
|
45
40
|
|
46
41
|
[ac_purge()] unsupported, todo
|
47
42
|
|
48
|
-
[ac_hist()] unsupported, todo
|
49
|
-
|
50
43
|
[ac_keep()] unsupported, todo
|
51
44
|
|
52
45
|
[ac_promote()] unsupported, todo
|
53
46
|
|
47
|
+
[ac_move()] unsupported, todo
|
48
|
+
|
49
|
+
[ac_update()] unsupported, todo
|
50
|
+
|
54
51
|
-------------------------------------------
|
55
52
|
|
56
53
|
== Other Items
|
data/TODO
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# todo for rscm/scm/accurev.rb
|
2
2
|
|
3
|
-
api - checkout
|
4
|
-
- there is no rscm-api update() (only checkout-to-existing-ws)
|
5
|
-
- `pop`, `update`
|
3
|
+
#api - checkout
|
4
|
+
# - there is no rscm-api update() (only checkout-to-existing-ws)
|
5
|
+
# - `pop`, `update`
|
6
6
|
|
7
|
-
|
8
|
-
- `hist` (others?)
|
7
|
+
#**api - revisions
|
8
|
+
# - `hist` (others?)
|
9
9
|
|
10
10
|
api - diff
|
11
11
|
- `diff` (yukx)
|
@@ -18,14 +18,14 @@ api - api-specific commands to manage streams
|
|
18
18
|
|
19
19
|
api - triggers?
|
20
20
|
|
21
|
-
|
22
|
-
- is this even always applicable? does stat/update take limits?
|
21
|
+
#**api - identifiers (Time or revision) to ac format
|
22
|
+
# - is this even always applicable? does stat/update take limits?
|
23
23
|
|
24
24
|
# xml - s/FileStatus/FileData/
|
25
25
|
|
26
|
-
api - checkout(Time.infinite) just does update
|
27
|
-
checkout(x) only works if ws not exist
|
28
|
-
unless it implies nuke-and-re-checkout (slow)
|
26
|
+
#api - checkout(Time.infinite) just does update
|
27
|
+
# checkout(x) only works if ws not exist
|
28
|
+
# unless it implies nuke-and-re-checkout (slow)
|
29
29
|
|
30
30
|
api - need ac_update which returns an acresponse
|
31
31
|
|
@@ -35,7 +35,7 @@ api - update: elements list should probably not include removed files
|
|
35
35
|
|
36
36
|
# command - Command.working_dir is bad: should use with_working_dir()
|
37
37
|
|
38
|
-
|
39
|
-
user *really* wants it
|
40
|
-
- yeargh... how does update work with pop? just nuke and/or overwrite?
|
38
|
+
#*** api - checkout() should use `pop` instead of `mkws`, unless
|
39
|
+
# user *really* wants it
|
40
|
+
# - yeargh... how does update work with pop? just nuke and/or overwrite?
|
41
41
|
|
data/bumprelease.sh
CHANGED
data/lib/rscm/accurev.rb
CHANGED
data/lib/rscm/scm/accurev/api.rb
CHANGED
@@ -33,11 +33,20 @@ module RSCM::Accurev
|
|
33
33
|
#
|
34
34
|
# === Example
|
35
35
|
#
|
36
|
+
# # Checkout a new workspace:
|
36
37
|
# api = RSCM::Accurev::API.new( "./ws/proj-1", "proj", "proj-1" )
|
37
38
|
# api.checkout() each do |file|
|
38
39
|
# puts "Updated #{file}..."
|
39
40
|
# end
|
40
41
|
#
|
42
|
+
# # Checkout a new (read-only) stream:
|
43
|
+
# api = RSCM::Accurev::API.new( "./ws/proj-1", "proj" )
|
44
|
+
# api.checkout() each {|f| ...}
|
45
|
+
#
|
46
|
+
# # Update a checked-out workspace or copy:
|
47
|
+
# api = RSCM::Accurev::API.new( "./ws/proj-1" )
|
48
|
+
# api.checkout() each{|f| ... }
|
49
|
+
#
|
41
50
|
class API < RSCM::Base
|
42
51
|
register self
|
43
52
|
|
@@ -324,6 +333,9 @@ module RSCM::Accurev
|
|
324
333
|
end
|
325
334
|
end
|
326
335
|
|
336
|
+
#
|
337
|
+
# Updates an existing workspace stream checked out to @checkout_dir
|
338
|
+
#
|
327
339
|
def update( to_identifier=Time.infinite )
|
328
340
|
co = RSCM::PathConverter.nativepath_to_filepath( @checkout_dir )
|
329
341
|
unless File.exists?( co )
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rscm-accurev
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2005-09-
|
6
|
+
version: 0.0.7
|
7
|
+
date: 2005-09-06 00:00:00 -05:00
|
8
8
|
summary: "RSCM::Accurev - RSCM API for Accurev"
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -12,7 +12,7 @@ email: gdf@speakeasy.net
|
|
12
12
|
homepage: http://rscm-accurev.rubyforge.org
|
13
13
|
rubyforge_project:
|
14
14
|
description: RSCM::Accurev is an RSCM API for the SCM tool Accurev (http://www.accurev.com/).
|
15
|
-
autorequire: rscm/
|
15
|
+
autorequire: rscm/accurev
|
16
16
|
default_executable:
|
17
17
|
bindir: bin
|
18
18
|
has_rdoc: true
|
@@ -32,6 +32,7 @@ files:
|
|
32
32
|
- bumprelease.sh
|
33
33
|
- doc
|
34
34
|
- eg
|
35
|
+
- html
|
35
36
|
- lib
|
36
37
|
- LICENSE
|
37
38
|
- Rakefile
|
@@ -100,4 +101,14 @@ extra_rdoc_files: []
|
|
100
101
|
executables: []
|
101
102
|
extensions: []
|
102
103
|
requirements: []
|
103
|
-
dependencies:
|
104
|
+
dependencies:
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
name: rscm
|
107
|
+
version_requirement:
|
108
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
109
|
+
requirements:
|
110
|
+
-
|
111
|
+
- ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 0.3.0
|
114
|
+
version:
|