simp-rake-helpers 2.5.7 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/README.md +3 -1
  4. data/lib/simp/rake/build/iso.rb +11 -2
  5. data/lib/simp/rake/build/pkg.rb +60 -65
  6. data/lib/simp/rake/build/tar.rb +3 -0
  7. data/lib/simp/rake/build/vermap.yaml +1 -0
  8. data/lib/simp/rake/helpers/rpm_spec.rb +8 -370
  9. data/lib/simp/rake/helpers/rpm_spec/assets/simp4.spec +387 -0
  10. data/lib/simp/rake/helpers/rpm_spec/assets/simp5.spec +387 -0
  11. data/lib/simp/rake/helpers/rpm_spec/assets/simpdefault.spec +356 -0
  12. data/lib/simp/rake/helpers/version.rb +1 -1
  13. data/lib/simp/rake/pkg.rb +63 -60
  14. data/lib/simp/rpm.rb +52 -25
  15. data/spec/acceptance/files/simplib/CHANGELOG +2 -0
  16. data/spec/acceptance/files/simplib/Rakefile +3 -0
  17. data/spec/acceptance/files/simplib/build/rpm_metadata/requires +1 -0
  18. data/spec/acceptance/files/simplib/metadata.json +33 -0
  19. data/spec/acceptance/files/testpackage_missing_license/CHANGELOG +2 -0
  20. data/spec/acceptance/files/testpackage_missing_license/Rakefile +3 -0
  21. data/spec/acceptance/files/testpackage_missing_license/build/rpm_metadata/requires +1 -0
  22. data/spec/acceptance/files/testpackage_missing_license/metadata.json +32 -0
  23. data/spec/acceptance/files/testpackage_missing_metadata_file/CHANGELOG +2 -0
  24. data/spec/acceptance/files/testpackage_missing_metadata_file/Rakefile +3 -0
  25. data/spec/acceptance/files/testpackage_missing_metadata_file/build/rpm_metadata/requires +1 -0
  26. data/spec/acceptance/files/testpackage_missing_name/CHANGELOG +2 -0
  27. data/spec/acceptance/files/testpackage_missing_name/Rakefile +3 -0
  28. data/spec/acceptance/files/testpackage_missing_name/build/rpm_metadata/requires +1 -0
  29. data/spec/acceptance/files/testpackage_missing_name/metadata.json +32 -0
  30. data/spec/acceptance/files/testpackage_missing_source/CHANGELOG +2 -0
  31. data/spec/acceptance/files/testpackage_missing_source/Rakefile +3 -0
  32. data/spec/acceptance/files/testpackage_missing_source/build/rpm_metadata/requires +1 -0
  33. data/spec/acceptance/files/testpackage_missing_source/metadata.json +32 -0
  34. data/spec/acceptance/files/testpackage_missing_summary/CHANGELOG +2 -0
  35. data/spec/acceptance/files/testpackage_missing_summary/Rakefile +3 -0
  36. data/spec/acceptance/files/testpackage_missing_summary/build/rpm_metadata/requires +1 -0
  37. data/spec/acceptance/files/testpackage_missing_summary/metadata.json +32 -0
  38. data/spec/acceptance/files/testpackage_missing_version/CHANGELOG +2 -0
  39. data/spec/acceptance/files/testpackage_missing_version/Rakefile +3 -0
  40. data/spec/acceptance/files/testpackage_missing_version/build/rpm_metadata/requires +1 -0
  41. data/spec/acceptance/files/testpackage_missing_version/metadata.json +32 -0
  42. data/spec/acceptance/files/testpackage_with_bad_changelog_date/CHANGELOG +2 -0
  43. data/spec/acceptance/files/testpackage_with_bad_changelog_date/Rakefile +3 -0
  44. data/spec/acceptance/files/testpackage_with_bad_changelog_date/build/rpm_metadata/requires +1 -0
  45. data/spec/acceptance/files/testpackage_with_bad_changelog_date/metadata.json +33 -0
  46. data/spec/acceptance/files/testpackage_with_release/CHANGELOG +2 -0
  47. data/spec/acceptance/files/testpackage_with_release/Rakefile +3 -0
  48. data/spec/acceptance/files/testpackage_with_release/build/rpm_metadata/release +1 -0
  49. data/spec/acceptance/files/testpackage_with_release/build/rpm_metadata/requires +1 -0
  50. data/spec/acceptance/files/testpackage_with_release/metadata.json +33 -0
  51. data/spec/acceptance/files/testpackage_without_changelog/Rakefile +3 -0
  52. data/spec/acceptance/files/testpackage_without_changelog/build/rpm_metadata/requires +1 -0
  53. data/spec/acceptance/files/testpackage_without_changelog/metadata.json +33 -0
  54. data/spec/acceptance/pkg_rpm_spec.rb +215 -41
  55. metadata +44 -2
@@ -0,0 +1,2 @@
1
+ * Sat Dec 13 2014 Richard Stallman <rms@gnu.org> - 0.0.1-0
2
+ - Behold, there was a brave GNU world....
@@ -0,0 +1,3 @@
1
+ require 'simp/rake/pkg'
2
+
3
+ Simp::Rake::Pkg.new( File.dirname( __FILE__ ) )
@@ -0,0 +1 @@
1
+ Requires: pupmod-simp-foo >= 1.2.3
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "simp-testpackage",
3
+ "version": "0.0.1",
4
+ "author": "simp",
5
+ "summary": "A SIMP Test Package for Testing Test Things",
6
+ "license": "Apache-2.0",
7
+ "source": "https://github.com/simp/pupmod-imatest",
8
+ "project_page": "https://github.com/simp/pupmod-imatest",
9
+ "issues_url": "https://simp/project.atlassian.net",
10
+ "tags": [ "simp", "test"],
11
+ "dependencies": [
12
+ {
13
+ "name": "simp/simplib",
14
+ "version_requirement": ">= 1.1.0"
15
+ }
16
+ ],
17
+ "operatingsystem_support": [
18
+ {
19
+ "operatingsystem": "CentOS",
20
+ "operatingsystemrelease": [
21
+ "6",
22
+ "7"
23
+ ]
24
+ },
25
+ {
26
+ "operatingsystem": "RedHat",
27
+ "operatingsystemrelease": [
28
+ "6",
29
+ "7"
30
+ ]
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,3 @@
1
+ require 'simp/rake/pkg'
2
+
3
+ Simp::Rake::Pkg.new( File.dirname( __FILE__ ) )
@@ -0,0 +1 @@
1
+ Requires: pupmod-simp-foo >= 1.2.3
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "simp-testpackage",
3
+ "version": "0.0.1",
4
+ "author": "simp",
5
+ "summary": "A SIMP Test Package for Testing Test Things",
6
+ "license": "Apache-2.0",
7
+ "source": "https://github.com/simp/pupmod-imatest",
8
+ "project_page": "https://github.com/simp/pupmod-imatest",
9
+ "issues_url": "https://simp/project.atlassian.net",
10
+ "tags": [ "simp", "test"],
11
+ "dependencies": [
12
+ {
13
+ "name": "simp/simplib",
14
+ "version_requirement": ">= 1.1.0"
15
+ }
16
+ ],
17
+ "operatingsystem_support": [
18
+ {
19
+ "operatingsystem": "CentOS",
20
+ "operatingsystemrelease": [
21
+ "6",
22
+ "7"
23
+ ]
24
+ },
25
+ {
26
+ "operatingsystem": "RedHat",
27
+ "operatingsystemrelease": [
28
+ "6",
29
+ "7"
30
+ ]
31
+ }
32
+ ]
33
+ }
@@ -1,18 +1,161 @@
1
1
  require 'spec_helper_acceptance'
2
2
 
3
+ env_vars = {
4
+ :default => '',
5
+ :simp4 => "SIMP_BUILD_version='4.3.1'",
6
+ :simp5 => "SIMP_BUILD_version='5.2.1'"
7
+ }
8
+
9
+ shared_examples_for "a RPM generator" do
10
+ it 'should create an RPM and remove the mock directory when SIMP_RAKE_MOCK_cleanup=yes' do
11
+ on test_host, %(#{run_cmd} "cd #{testpackage_dir}; #{env_vars[build_type]} SIMP_RAKE_MOCK_cleanup=yes rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
12
+ on test_host, %(test -f #{testpackage_rpm})
13
+ on test_host, %(test -d /var/lib/mock/epel-#{test_dist}-x86_64-pupmod-simp-testpackage__$USER), {:acceptable_exit_codes => [1]}
14
+ end
3
15
 
4
- describe 'rake pkg:rpm' do
16
+ it 'should use specified release number for the RPM' do
17
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_with_release; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
18
+ release_test_rpm = File.join(pkg_root_dir, 'testpackage_with_release',
19
+ 'dist', 'pupmod-simp-testpackage-0.0.1-42.noarch.rpm')
20
+ on test_host, %(test -f #{release_test_rpm})
21
+ end
22
+
23
+ it 'should generate a changelog for the RPM when no CHANGELOG exists' do
24
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_without_changelog; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
25
+ changelog_test_rpm = File.join(pkg_root_dir, 'testpackage_without_changelog',
26
+ 'dist', File.basename(testpackage_rpm))
27
+ on test_host, %(rpm --changelog -qp #{changelog_test_rpm} | grep -q 'Auto Changelog')
28
+ end
29
+
30
+ it 'should not require pupmod-simp-simplib for simp-simplib RPM' do
31
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/simplib; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
32
+ simplib_rpm = File.join(pkg_root_dir, 'simplib', 'dist',
33
+ File.basename(testpackage_rpm).gsub(/simp-testpackage-0.0.1/,'simp-simplib-1.2.3'))
34
+ on test_host, %(test -f #{simplib_rpm})
35
+ on test_host, %(rpm -qpR #{simplib_rpm} | grep -q pupmod-simp-simplib), {:acceptable_exit_codes => [1]}
36
+ end
37
+
38
+ it 'should not fail to create an RPM when the CHANGELOG has a bad date' do
39
+ on test_host,
40
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_with_bad_changelog_date; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
41
+
42
+ bad_date_test_rpm = File.join(pkg_root_dir, 'testpackage_with_bad_changelog_date',
43
+ 'dist', File.basename(testpackage_rpm))
44
+ on test_host, %(test -f #{bad_date_test_rpm})
45
+ end
46
+
47
+ it 'should fail to create an RPM when metadata.json is missing' do
48
+ on test_host,
49
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_metadata_file; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
50
+ :acceptable_exit_codes => [1]
51
+ end
52
+
53
+ it 'should fail to create an RPM when license metadata is missing' do
54
+ on test_host,
55
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_license; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
56
+ :acceptable_exit_codes => [1]
57
+ end
5
58
 
6
- run_cmd = 'runuser build_user -l -c '
59
+ it 'should fail to create an RPM when name metadata is missing' do
60
+ on test_host,
61
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_name; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
62
+ :acceptable_exit_codes => [1]
63
+ end
7
64
 
8
- let(:pkg_input_dir) { '/host_files/spec/acceptance/files/testpackage' }
9
- let(:pkg_output_dir) { '/home/build_user/host_files/spec/acceptance/files/testpackage' }
10
- let(:pkg_dest) { File.join(pkg_output_dir, 'dist/pupmod-simp-testpackage-0.0.1-2016.noarch.rpm') }
65
+ it 'should fail to create an RPM when source metadata is missing' do
66
+ on test_host,
67
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_source; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
68
+ :acceptable_exit_codes => [1]
69
+ end
70
+
71
+ it 'should fail to create an RPM when summary metadata is missing' do
72
+ on test_host,
73
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_summary; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
74
+ :acceptable_exit_codes => [1]
75
+ end
76
+
77
+ it 'should fail to create an RPM when version metadata is missing' do
78
+ on test_host,
79
+ %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_missing_version; #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]"),
80
+ :acceptable_exit_codes => [1]
81
+ end
82
+ end
83
+
84
+ shared_examples_for "a pre-SIMP6 RPM generator" do
85
+ it "should create an RPM and leave the mock directory when SIMP_RAKE_MOCK_cleanup=no" do
86
+ comment "produces RPM"
87
+ on test_host, %(#{run_cmd} "cd #{testpackage_dir}; SIMP_RAKE_MOCK_cleanup=no #{env_vars[build_type]} rake pkg:rpm[epel-#{test_dist}-x86_64,true]")
88
+ on test_host, %(test -f #{testpackage_rpm})
89
+
90
+ comment "produces RPM with appropriate dependencies"
91
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-simp-foo)
92
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-simp-simplib)
93
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-puppetlabs-stdlib)
94
+ on test_host, %(rpm -qp --provides #{testpackage_rpm} | grep -q -x "pupmod-testpackage = 0.0.1-2016")
95
+ on test_host, %(rpm -qp --provides #{testpackage_rpm} | grep -q -x "simp-testpackage = 0.0.1-2016")
96
+ on test_host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{testpackage_rpm} | grep -q "^pupmod-testpackage")
97
+ on test_host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{testpackage_rpm} | grep -q "^simp-testpackage")
98
+
99
+ comment "RPM generated does not require simp-adapter"
100
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q simp-adapter), {:acceptable_exit_codes => [1]}
101
+
102
+ comment "produces RPM with a sourced CHANGELOG"
103
+ on test_host, %(rpm --changelog -qp #{testpackage_rpm} | grep -q Stallman)
104
+
105
+ comment "produces RPM without SIMP6-specific appropriate pre/post/preun/postun"
106
+ on test_host,
107
+ %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper"),
108
+ {:acceptable_exit_codes => [1]}
109
+
110
+ comment "keeps mock chroot when SIMP_RAKE_MOCK_cleanup=no"
111
+ on test_host, %(test -d /var/lib/mock/epel-#{test_dist}-x86_64-pupmod-simp-testpackage__build_user)
112
+ end
113
+
114
+ it "should handle variants" do
115
+ pending "removed code to pass variant to mock needs to be reinstated for this feature to work"
116
+ fail "INSERT CHECKING CODE HERE"
117
+ end
118
+ end
119
+
120
+ def comment(msg, indent=10)
121
+ logger.optionally_color(Beaker::Logger::MAGENTA, " "*indent + msg)
122
+ end
123
+
124
+
125
+ describe 'rake pkg:rpm' do
126
+ before :all do
127
+ # make sure all generated files from previous rake tasks have
128
+ # permissions that allow the copy in the 'prep' below
129
+ root_dir = File.dirname(File.dirname(File.dirname(File.expand_path(__FILE__))))
130
+ dist_dirs = Dir.glob(File.join(root_dir, '**', 'dist'))
131
+ dist_dirs.each { |dir| FileUtils.chmod_R(0755, dir) }
132
+ FileUtils.chmod_R(0755, 'junit')
133
+ FileUtils.chmod_R(0755, 'log')
134
+ end
135
+
136
+ let(:run_cmd) { 'runuser build_user -l -c ' }
137
+
138
+ let(:testpackages) {
139
+ ['simplib',
140
+ 'testpackage',
141
+ 'testpackage_missing_license',
142
+ 'testpackage_missing_metadata_file',
143
+ 'testpackage_missing_name',
144
+ 'testpackage_missing_source',
145
+ 'testpackage_missing_summary',
146
+ 'testpackage_missing_version',
147
+ 'testpackage_with_bad_changelog_date',
148
+ 'testpackage_with_release',
149
+ 'testpackage_without_changelog']
150
+ }
151
+
152
+ let(:pkg_root_dir) { '/home/build_user/host_files/spec/acceptance/files' }
153
+ let(:testpackage_dir) { '/home/build_user/host_files/spec/acceptance/files/testpackage' }
11
154
 
12
155
  dists = ['6', '7']
13
156
 
14
157
  hosts.each do |host|
15
- context 'with SIMP_RAKE_MOCK_cleanup=no' do
158
+ context "rpm building on #{host}" do
16
159
  before :each do
17
160
  on host, 'mkdir -p -m 0755 /var/lib/mock'
18
161
  on host, 'rm -rf /var/lib/mock/*', :accept_all_exit_codes => true
@@ -24,56 +167,87 @@ describe 'rake pkg:rpm' do
24
167
  end
25
168
 
26
169
  it 'should set up the Ruby gems' do
27
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; rvm use default; bundle update")
170
+ # all our test packages use the same set of ruby gems, so only bundle
171
+ # update once to save time
172
+ on host, %(#{run_cmd} "cd #{testpackage_dir}; rvm use default; bundle update")
28
173
  end
29
174
 
30
- it 'should have a clean working environment' do
31
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; rake clean")
32
- end
33
175
  end
34
176
 
35
177
  dists.each do |dist|
36
- context "on #{dist}" do
37
- it "should create an RPM for #{dist} and leave the mock directory" do
38
-
39
- test_name %(runs SIMP_RAKE_MOCK_cleanup=no pkg:rpm[epel-#{dist}-x86_64,true])
40
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; SIMP_RAKE_MOCK_cleanup=no rake pkg:rpm[epel-#{dist}-x86_64,true]")
178
+ context "for #{dist} distribution using simpdefault.spec" do
179
+ let(:test_host) { host }
180
+ let(:test_dist) { dist }
181
+ let(:build_type) {:default}
182
+ let(:testpackage_rpm) { File.join(testpackage_dir, 'dist/pupmod-simp-testpackage-0.0.1-2016.1.noarch.rpm') }
183
+
184
+ it 'should have a clean working environment' do
185
+ testpackages.each do |package|
186
+ on host, %(#{run_cmd} "cd #{pkg_root_dir}/#{package}; rake clean")
187
+ end
188
+ end
41
189
 
42
- test_name 'produces RPM'
43
- on host, %(test -f #{pkg_dest})
190
+ it "should create an RPM for #{dist} and leave the mock directory" do
191
+ comment "produces RPM"
192
+ on test_host, %(#{run_cmd} "cd #{testpackage_dir}; SIMP_RAKE_MOCK_cleanup=no rake pkg:rpm[epel-#{dist}-x86_64,true]")
193
+ on test_host, %(test -f #{testpackage_rpm})
194
+
195
+ comment "produces RPM with appropriate dependencies"
196
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q simp-adapter)
197
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-simp-foo)
198
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-simp-simplib)
199
+ on test_host, %(rpm -qpR #{testpackage_rpm} | grep -q pupmod-puppetlabs-stdlib)
200
+ on test_host, %(rpm -qp --provides #{testpackage_rpm} | grep -q -x "pupmod-testpackage = 0.0.1-2016.1")
201
+ on test_host, %(rpm -qp --provides #{testpackage_rpm} | grep -q -x "simp-testpackage = 0.0.1-2016.1")
202
+ on test_host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{testpackage_rpm} | grep -q "^pupmod-testpackage")
203
+ on test_host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{testpackage_rpm} | grep -q "^simp-testpackage")
204
+
205
+ comment "produces RPM with a sourced CHANGELOG"
206
+ on test_host, %(rpm --changelog -qp #{testpackage_rpm} | grep -q Stallman)
207
+
208
+ comment "produces RPM with appropriate pre/post/preun/postun"
209
+ on test_host, %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper --rpm_dir=/usr/share/simp/modules/testpackage --rpm_section='pre' --rpm_status=\\$1")
210
+ on test_host, %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper --rpm_dir=/usr/share/simp/modules/testpackage --rpm_section='post' --rpm_status=\\$1")
211
+ on test_host, %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper --rpm_dir=/usr/share/simp/modules/testpackage --rpm_section='preun' --rpm_status=\\$1")
212
+ on test_host, %(rpm -qp --scripts #{testpackage_rpm} | grep -q -x "/usr/local/sbin/simp_rpm_helper --rpm_dir=/usr/share/simp/modules/testpackage --rpm_section='postun' --rpm_status=\\$1")
213
+
214
+ comment "keeps mock chroot when SIMP_RAKE_MOCK_cleanup=no"
215
+ on test_host, %(test -d /var/lib/mock/epel-#{dist}-x86_64-pupmod-simp-testpackage__build_user)
216
+ end
44
217
 
45
- test_name 'produces RPM with appropriate dependencies'
46
- on host, %(rpm -qpR #{pkg_dest} | grep -q pupmod-simp-foo)
47
- on host, %(rpm -qpR #{pkg_dest} | grep -q pupmod-simp-simplib)
48
- on host, %(rpm -qpR #{pkg_dest} | grep -q pupmod-puppetlabs-stdlib)
49
- on host, %(rpm -qp --provides #{pkg_dest} | grep -q "^pupmod-testpackage = 0.0.1-2016$")
50
- on host, %(rpm -qp --provides #{pkg_dest} | grep -q "^simp-testpackage = 0.0.1-2016$")
51
- on host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{pkg_dest} | grep -q "^pupmod-testpackage")
52
- on host, %(rpm -qp --queryformat "[%{obsoletes}\\n]" #{pkg_dest} | grep -q "^simp-testpackage")
218
+ it_should_behave_like "a RPM generator"
219
+ end
53
220
 
54
- test_name 'produces RPM with a sourced CHANGELOG'
55
- on host, %(rpm --changelog -qp #{pkg_dest} | grep -q Stallman)
221
+ context "for #{dist} distribution using simp4.spec" do
222
+ let(:test_host) { host }
223
+ let(:test_dist) { dist }
224
+ let(:build_type) { :simp4 }
225
+ let(:testpackage_rpm) { File.join(testpackage_dir, 'dist/pupmod-simp-testpackage-0.0.1-2016.noarch.rpm') }
56
226
 
57
- test_name 'keeps mock chroot when SIMP_RAKE_MOCK_cleanup=no'
58
- on host, %(test -d /var/lib/mock/epel-#{dist}-x86_64-pupmod-simp-testpackage__build_user)
227
+ it 'should have a clean working environment' do
228
+ testpackages.each do |package|
229
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/#{package}; rake clean")
230
+ end
59
231
  end
60
232
 
61
- it 'should create an RPM and remove the mock directory' do
62
- test_name 'runs pkg:rpm'
63
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; SIMP_RAKE_MOCK_cleanup=yes rake pkg:rpm[epel-#{dist}-x86_64,true]")
233
+ it_should_behave_like "a pre-SIMP6 RPM generator"
234
+ it_should_behave_like "a RPM generator"
235
+ end
64
236
 
65
- test_name 'produces RPM'
66
- on host, %(test -f #{pkg_dest})
237
+ context "for #{dist} distribution using simp5.spec" do
238
+ let(:test_host) { host }
239
+ let(:test_dist) { dist }
240
+ let(:build_type) { :simp5 }
241
+ let(:testpackage_rpm) { File.join(testpackage_dir, 'dist/pupmod-simp-testpackage-0.0.1-2016.noarch.rpm') }
67
242
 
68
- test_name 'deletes mock chroot when SIMP_RAKE_MOCK_cleanup=yes'
69
- on host, %(test -d /var/lib/mock/epel-#{dist}-x86_64-pupmod-simp-testpackage__$USER), {:acceptable_exit_codes => [1]}
243
+ it 'should have a clean working environment' do
244
+ testpackages.each do |package|
245
+ on test_host, %(#{run_cmd} "cd #{pkg_root_dir}/#{package}; rake clean")
246
+ end
70
247
  end
71
- end
72
- end
73
248
 
74
- context 'cleanup' do
75
- it 'should clean up after itself' do
76
- on host, %(#{run_cmd} "cd #{pkg_output_dir}; rake clean")
249
+ it_should_behave_like "a pre-SIMP6 RPM generator"
250
+ it_should_behave_like "a RPM generator"
77
251
  end
78
252
  end
79
253
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simp-rake-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.7
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Tessmer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-09-28 00:00:00.000000000 Z
12
+ date: 2016-10-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -415,15 +415,57 @@ files:
415
415
  - lib/simp/rake/fixtures.rb
416
416
  - lib/simp/rake/helpers.rb
417
417
  - lib/simp/rake/helpers/rpm_spec.rb
418
+ - lib/simp/rake/helpers/rpm_spec/assets/simp4.spec
419
+ - lib/simp/rake/helpers/rpm_spec/assets/simp5.spec
420
+ - lib/simp/rake/helpers/rpm_spec/assets/simpdefault.spec
418
421
  - lib/simp/rake/helpers/version.rb
419
422
  - lib/simp/rake/pkg.rb
420
423
  - lib/simp/rake/pupmod/helpers.rb
421
424
  - lib/simp/rake/rubygem.rb
422
425
  - lib/simp/rpm.rb
426
+ - spec/acceptance/files/simplib/CHANGELOG
427
+ - spec/acceptance/files/simplib/Rakefile
428
+ - spec/acceptance/files/simplib/build/rpm_metadata/requires
429
+ - spec/acceptance/files/simplib/metadata.json
423
430
  - spec/acceptance/files/testpackage/CHANGELOG
424
431
  - spec/acceptance/files/testpackage/Rakefile
425
432
  - spec/acceptance/files/testpackage/build/rpm_metadata/requires
426
433
  - spec/acceptance/files/testpackage/metadata.json
434
+ - spec/acceptance/files/testpackage_missing_license/CHANGELOG
435
+ - spec/acceptance/files/testpackage_missing_license/Rakefile
436
+ - spec/acceptance/files/testpackage_missing_license/build/rpm_metadata/requires
437
+ - spec/acceptance/files/testpackage_missing_license/metadata.json
438
+ - spec/acceptance/files/testpackage_missing_metadata_file/CHANGELOG
439
+ - spec/acceptance/files/testpackage_missing_metadata_file/Rakefile
440
+ - spec/acceptance/files/testpackage_missing_metadata_file/build/rpm_metadata/requires
441
+ - spec/acceptance/files/testpackage_missing_name/CHANGELOG
442
+ - spec/acceptance/files/testpackage_missing_name/Rakefile
443
+ - spec/acceptance/files/testpackage_missing_name/build/rpm_metadata/requires
444
+ - spec/acceptance/files/testpackage_missing_name/metadata.json
445
+ - spec/acceptance/files/testpackage_missing_source/CHANGELOG
446
+ - spec/acceptance/files/testpackage_missing_source/Rakefile
447
+ - spec/acceptance/files/testpackage_missing_source/build/rpm_metadata/requires
448
+ - spec/acceptance/files/testpackage_missing_source/metadata.json
449
+ - spec/acceptance/files/testpackage_missing_summary/CHANGELOG
450
+ - spec/acceptance/files/testpackage_missing_summary/Rakefile
451
+ - spec/acceptance/files/testpackage_missing_summary/build/rpm_metadata/requires
452
+ - spec/acceptance/files/testpackage_missing_summary/metadata.json
453
+ - spec/acceptance/files/testpackage_missing_version/CHANGELOG
454
+ - spec/acceptance/files/testpackage_missing_version/Rakefile
455
+ - spec/acceptance/files/testpackage_missing_version/build/rpm_metadata/requires
456
+ - spec/acceptance/files/testpackage_missing_version/metadata.json
457
+ - spec/acceptance/files/testpackage_with_bad_changelog_date/CHANGELOG
458
+ - spec/acceptance/files/testpackage_with_bad_changelog_date/Rakefile
459
+ - spec/acceptance/files/testpackage_with_bad_changelog_date/build/rpm_metadata/requires
460
+ - spec/acceptance/files/testpackage_with_bad_changelog_date/metadata.json
461
+ - spec/acceptance/files/testpackage_with_release/CHANGELOG
462
+ - spec/acceptance/files/testpackage_with_release/Rakefile
463
+ - spec/acceptance/files/testpackage_with_release/build/rpm_metadata/release
464
+ - spec/acceptance/files/testpackage_with_release/build/rpm_metadata/requires
465
+ - spec/acceptance/files/testpackage_with_release/metadata.json
466
+ - spec/acceptance/files/testpackage_without_changelog/Rakefile
467
+ - spec/acceptance/files/testpackage_without_changelog/build/rpm_metadata/requires
468
+ - spec/acceptance/files/testpackage_without_changelog/metadata.json
427
469
  - spec/acceptance/nodesets/default.yml
428
470
  - spec/acceptance/pkg_rpm_spec.rb
429
471
  - spec/lib/simp/files/build/testpackage.spec