|  | 
| 4 | 4 | 
 | 
| 5 | 5 | tmpdir = '/tmp/vcsrepo' | 
| 6 | 6 | 
 | 
| 7 |  | -describe 'subversion :includes tests on SVN version >= 1.7', unless: ( # rubocop:disable RSpec/MultipleDescribes : The | 
|  | 7 | +describe 'subversion :includes tests on SVN version >= 1.7', unless: ( # : The | 
| 8 | 8 |  # test's on this page must be kept seperate as they are for different operating systems. | 
| 9 |  | - (os[:family] == 'redhat' && os[:release].start_with?('5', '6')) || | 
| 10 | 9 |  (os[:family] == 'sles') | 
| 11 | 10 |  ) do | 
| 12 | 11 |  before(:all) do | 
|  | 
| 149 | 148 |  end | 
| 150 | 149 |  end | 
| 151 | 150 | end | 
| 152 |  | - | 
| 153 |  | -describe 'subversion :includes tests on SVN version == 1.6', if: ( | 
| 154 |  | - (os[:family] == 'redhat' && os[:release].start_with?('5', '6')) | 
| 155 |  | - ) do | 
| 156 |  | - after(:all) do | 
| 157 |  | - run_shell("rm -rf #{tmpdir}/svnrepo") | 
| 158 |  | - end | 
| 159 |  | - | 
| 160 |  | - context 'with include paths' do | 
| 161 |  | - pp = <<-MANIFEST | 
| 162 |  | - vcsrepo { "#{tmpdir}/svnrepo": | 
| 163 |  | - ensure => present, | 
| 164 |  | - provider => svn, | 
| 165 |  | - includes => ['difftools/README', 'obsolete-notes',], | 
| 166 |  | - source => "http://svn.apache.org/repos/asf/subversion/developer-resources", | 
| 167 |  | - revision => 1000000, | 
| 168 |  | - } | 
| 169 |  | - MANIFEST | 
| 170 |  | - it 'can checkout specific paths from svn' do | 
| 171 |  | - # Run it twice and test for idempotency | 
| 172 |  | - idempotent_apply(pp) | 
| 173 |  | - end | 
| 174 |  | - | 
| 175 |  | - describe file("#{tmpdir}/svnrepo/difftools") do | 
| 176 |  | - it { is_expected.to be_directory } | 
| 177 |  | - end | 
| 178 |  | - | 
| 179 |  | - describe file("#{tmpdir}/svnrepo/difftools/README") do | 
| 180 |  | - its(:md5sum) { is_expected.to eq '540241e9d5d4740d0ef3d27c3074cf93' } | 
| 181 |  | - end | 
| 182 |  | - | 
| 183 |  | - describe file("#{tmpdir}/svnrepo/difftools/pics") do | 
| 184 |  | - it { is_expected.not_to exist } | 
| 185 |  | - end | 
| 186 |  | - | 
| 187 |  | - describe file("#{tmpdir}/svnrepo/obsolete-notes") do | 
| 188 |  | - it { is_expected.to be_directory } | 
| 189 |  | - end | 
| 190 |  | - | 
| 191 |  | - describe file("#{tmpdir}/svnrepo/obsolete-notes/draft-korn-vcdiff-01.txt") do | 
| 192 |  | - its(:md5sum) { is_expected.to eq '37019f808e1af64864853a67526cfe19' } | 
| 193 |  | - end | 
| 194 |  | - | 
| 195 |  | - describe file("#{tmpdir}/svnrepo/obsolete-notes/vcdiff-karlnotes") do | 
| 196 |  | - its(:md5sum) { is_expected.to eq '26e23ff6a156de14aebd1099e23ac2d8' } | 
| 197 |  | - end | 
| 198 |  | - | 
| 199 |  | - describe file("#{tmpdir}/svnrepo/guis") do | 
| 200 |  | - it { is_expected.not_to exist } | 
| 201 |  | - end | 
| 202 |  | - end | 
| 203 |  | - | 
| 204 |  | - context 'with add include paths' do | 
| 205 |  | - pp = <<-MANIFEST | 
| 206 |  | - vcsrepo { "#{tmpdir}/svnrepo": | 
| 207 |  | - ensure => present, | 
| 208 |  | - provider => svn, | 
| 209 |  | - includes => ['difftools/README', 'obsolete-notes', 'guis/pics', 'difftools/pics/README'], | 
| 210 |  | - source => "http://svn.apache.org/repos/asf/subversion/developer-resources", | 
| 211 |  | - revision => 1000000, | 
| 212 |  | - } | 
| 213 |  | - MANIFEST | 
| 214 |  | - it 'can add paths to includes' do | 
| 215 |  | - # Run it twice and test for idempotency | 
| 216 |  | - idempotent_apply(pp) | 
| 217 |  | - end | 
| 218 |  | - | 
| 219 |  | - describe file("#{tmpdir}/svnrepo/guis/pics/README") do | 
| 220 |  | - its(:md5sum) { is_expected.to eq '62bdc9180684042fe764d89c9beda40f' } | 
| 221 |  | - end | 
| 222 |  | - | 
| 223 |  | - describe file("#{tmpdir}/svnrepo/difftools/pics/README") do | 
| 224 |  | - its(:md5sum) { is_expected.to eq 'bad02dfc3cb96bf5cadd59bf4fe3e00e' } | 
| 225 |  | - end | 
| 226 |  | - end | 
| 227 |  | - | 
| 228 |  | - context 'with remove include paths' do | 
| 229 |  | - pp = <<-MANIFEST | 
| 230 |  | - vcsrepo { "#{tmpdir}/svnrepo": | 
| 231 |  | - ensure => present, | 
| 232 |  | - provider => svn, | 
| 233 |  | - includes => ['difftools/pics/README', 'obsolete-notes',], | 
| 234 |  | - source => "http://svn.apache.org/repos/asf/subversion/developer-resources", | 
| 235 |  | - revision => 1000000, | 
| 236 |  | - } | 
| 237 |  | - MANIFEST | 
| 238 |  | - it 'can remove directory paths (and empty parent directories) from includes, but not files with siblings' do | 
| 239 |  | - apply_manifest(pp, catch_failures: true) | 
| 240 |  | - end | 
| 241 |  | - | 
| 242 |  | - describe file("#{tmpdir}/svnrepo/guis/pics/README") do | 
| 243 |  | - it { is_expected.not_to exist } | 
| 244 |  | - end | 
| 245 |  | - | 
| 246 |  | - describe file("#{tmpdir}/svnrepo/guis/pics") do | 
| 247 |  | - it { is_expected.not_to exist } | 
| 248 |  | - end | 
| 249 |  | - | 
| 250 |  | - describe file("#{tmpdir}/svnrepo/guis") do | 
| 251 |  | - it { is_expected.not_to exist } | 
| 252 |  | - end | 
| 253 |  | - | 
| 254 |  | - describe file("#{tmpdir}/svnrepo/difftools/pics/README") do | 
| 255 |  | - its(:md5sum) { is_expected.to eq 'bad02dfc3cb96bf5cadd59bf4fe3e00e' } | 
| 256 |  | - end | 
| 257 |  | - | 
| 258 |  | - describe file("#{tmpdir}/svnrepo/difftools/README") do | 
| 259 |  | - its(:md5sum) { is_expected.to eq '540241e9d5d4740d0ef3d27c3074cf93' } | 
| 260 |  | - end | 
| 261 |  | - end | 
| 262 |  | - | 
| 263 |  | - context 'with changing revisions' do | 
| 264 |  | - pp = <<-MANIFEST | 
| 265 |  | - vcsrepo { "#{tmpdir}/svnrepo": | 
| 266 |  | - ensure => present, | 
| 267 |  | - provider => svn, | 
| 268 |  | - includes => ['difftools/README', 'obsolete-notes',], | 
| 269 |  | - source => "http://svn.apache.org/repos/asf/subversion/developer-resources", | 
| 270 |  | - revision => 1700000, | 
| 271 |  | - } | 
| 272 |  | - MANIFEST | 
| 273 |  | - it 'can change revisions' do | 
| 274 |  | - # Run it twice and test for idempotency | 
| 275 |  | - idempotent_apply(pp) | 
| 276 |  | - end | 
| 277 |  | - | 
| 278 |  | - it 'svn info of svnrepo' do | 
| 279 |  | - run_shell("svn info #{tmpdir}/svnrepo") do |r| | 
| 280 |  | - expect(r.stdout).to match(%r{.*Revision: 1700000.*}) | 
| 281 |  | - end | 
| 282 |  | - end | 
| 283 |  | - | 
| 284 |  | - it 'svn info of svnrepo/difftools/README' do | 
| 285 |  | - run_shell("svn info #{tmpdir}/svnrepo/difftools/README") do |r| | 
| 286 |  | - expect(r.stdout).to match(%r{.*Revision: 1700000.*}) | 
| 287 |  | - end | 
| 288 |  | - end | 
| 289 |  | - end | 
| 290 |  | -end | 
0 commit comments