+require 'singleton'
+
+class LitmusHelper
+ include Singleton
+ include PuppetLitmus
+end
+
def iptables_flush_all_tables
['filter', 'nat', 'mangle', 'raw'].each do |t|
expect(run_shell("iptables -t #{t} -F").stderr).to eq('')
run_shell("sed -i '/mesg n/c\\test -t 0 && mesg n || true' ~/.profile")
run_shell("sed -i '/mesg n || true/c\\test -t 0 && mesg n || true' ~/.profile")
end
+
+RSpec.configure do |c|
+ c.before :suite do
+ if os[:family] == 'debian' && os[:release].to_i == 10
+ pp = <<-PUPPETCODE
+ package { 'net-tools':
+ ensure => 'latest',
+ }
+ package { 'iptables':
+ ensure => 'latest',
+ }
+ PUPPETCODE
+ LitmusHelper.instance.apply_manifest(pp)
+ LitmusHelper.instance.run_shell('update-alternatives --set iptables /usr/sbin/iptables-legacy', expect_failures: true)
+ LitmusHelper.instance.run_shell('update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy', expect_failures: true)
+ end
+ end
+end