Skip to content

Commit

Permalink
Fix tests, add other distros
Browse files Browse the repository at this point in the history
  • Loading branch information
javierbertoli committed Mar 6, 2019
1 parent d855430 commit 7b74a1b
Show file tree
Hide file tree
Showing 9 changed files with 188 additions and 31 deletions.
6 changes: 3 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ before_install:
env:
matrix:
- INSTANCE: deb-debian-9
- INSTANCE: ubu-ubuntu-1604
- INSTANCE: ubu-ubuntu-1804
- INSTANCE: ubu16-ubuntu-1604
- INSTANCE: ubu18-ubuntu-1804
- INSTANCE: rpm-centos-7
- INSTANCE: fed-fedora
- INSTANCE: rpm-opensuse-leap-salt-minion
- INSTANCE: sus-opensuse-leap-salt-minion

script:
- bundle exec kitchen verify ${INSTANCE}
39 changes: 28 additions & 11 deletions kitchen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ platforms:
image: debian:9
run_command: /lib/systemd/systemd
provision_command:
- apt-get update && apt-get install -y udev
- apt-get update && apt-get install -y udev locales
- name: ubuntu-18.04
driver_config:
image: ubuntu:18.04
run_command: /lib/systemd/systemd
provision_command:
- apt-get update && apt-get install -y udev
- apt-get update && apt-get install -y udev locales
- name: ubuntu-16.04
driver_config:
image: ubuntu:16.04
Expand All @@ -41,16 +41,16 @@ platforms:
run_command: /usr/lib/systemd/systemd
provision_command:
- yum -y update && yum -y install udev git
# - name: centos-6
# driver_config:
# image: centos:6
# run_command: /usr/lib/systemd/systemd
# To test remote packages in RPM envs
- rpm --import https://zoom.us/linux/download/pubkey
- name: fedora
driver_config:
image: fedora
run_command: /usr/lib/systemd/systemd
provision_command:
- yum -y update && yum -y install udev git
# To test remote packages in RPM envs
- rpm --import https://zoom.us/linux/download/pubkey
# As of February 2019, there have been problems getting `opensuse` to work:
# * `opensuse` is deprecated
# * `opensuse/leap` grabs `15.x`, which doesn't run the `inspec` tests
Expand All @@ -62,9 +62,11 @@ platforms:
image: opensuse/salt-minion
run_command: /usr/lib/systemd/systemd
provision_command:
- zypper refresh && zypper install -y udev git
- zypper refresh && zypper install -y udev git glibc-locale
- systemctl enable sshd.service
- cat /etc/os-release
# To test remote packages in RPM envs
- rpm --import https://zoom.us/linux/download/pubkey

provisioner:
name: salt_solo
Expand All @@ -75,7 +77,7 @@ provisioner:
salt_copy_filter:
- .kitchen
- .git
pillars-from-files:
pillars_from_files:
packages.sls: pillar.example
pillars:
top.sls:
Expand Down Expand Up @@ -112,6 +114,9 @@ suites:
- centos-7
- fedora
- opensuse-leap-salt-minion
provisioner:
pillars_from_files:
packages.sls: test/integration/default/pillar.example.ubuntu.1804

- name: ubu16
excludes:
Expand All @@ -121,7 +126,7 @@ suites:
- fedora
- opensuse-leap-salt-minion
provisioner:
pillars-from-files:
pillars_from_files:
packages.sls: test/integration/default/pillar.example.ubuntu.1604

- name: fed
Expand All @@ -132,15 +137,27 @@ suites:
- centos-7
- opensuse-leap-salt-minion
provisioner:
pillars-from-files:
pillars_from_files:
packages.sls: test/integration/default/pillar.example.fedora

- name: sus
excludes:
- debian-9
- ubuntu-16.04
- ubuntu-18.04
- centos-7
- fedora
provisioner:
pillars_from_files:
packages.sls: test/integration/default/pillar.example.opensuse

- name: rpm
excludes:
- debian-9
- ubuntu-16.04
- ubuntu-18.04
- fedora
- opensuse-leap-salt-minion
provisioner:
dependencies:
- name: epel
Expand All @@ -151,7 +168,7 @@ suites:
'*':
- epel
- packages
pillars-from-files:
pillars_from_files:
packages.sls: test/integration/default/pillar.example.redhat
pillars:
top.sls:
Expand Down
4 changes: 4 additions & 0 deletions packages/osfamilymap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ Suse:
required:
pkgs:
- python3-pip
gems:
required:
pkgs:
- ruby-common

Debian:
pips:
Expand Down
2 changes: 1 addition & 1 deletion packages/pips.sls
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ packages pips install {{ pn }}:
packages pips remove {{ upn }}:
{%- if grains.os_family in ('Suse',) %}
cmd.run:
- name: /usr/bin/pip uninstall {{ pn }}
- name: /usr/bin/pip uninstall {{ upn }}
{%- else %}
pip.removed:
- name: {{ upn }}
Expand Down
22 changes: 12 additions & 10 deletions test/integration/default/pillar.example.fedora
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
packages:
pkgs:
held:
alien: 8.95-5.fc27
iotop: 0.6-15.fc27
alien: 8.95-8.fc29
iotop: 0.6-18.fc29
wanted:
- git
- less
Expand All @@ -16,14 +16,16 @@ packages:
- git
- python2-dnf-plugin-versionlock
- python3-dnf-plugin-versionlock
pips:
wanted:
- dxpy
- attrs
unwanted:
- campbel
- reverse_geocode
- indy-crypto
# Not testing pips in FC29 because it still ships 2018.3.3
# which breaks with pip > 18 (https://github.com/saltstack/salt/issues/49967)
# pips:
# wanted:
# - dxpy
# - attrs
# unwanted:
# - campbel
# - reverse_geocode
# - indy-crypto
gems:
wanted:
- progressbar
Expand Down
27 changes: 27 additions & 0 deletions test/integration/default/pillar.example.opensuse
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
packages:
pkgs:
wanted:
- git
- less
- bc
- curl
- fail2ban
unwanted:
- avahi-daemon
required:
pkgs:
- git
# Not testing pips in opensuse because it requires upgrading a bunch of
# pip dependencies which are out of the scope of this formula.
# If you can provide a PR to fix this tests, you're welcomed!
# pips:
gems:
wanted:
- progressbar
- minitest
unwanted:
- diff-lcs
- kitchen-vagrant
- kwalify
remote_pkgs:
zoom: 'https://zoom.us/client/latest/zoom_openSUSE_x86_64.rpm'
94 changes: 94 additions & 0 deletions test/integration/default/pillar.example.ubuntu.1804
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
packages:
pkgs:
# A dict of "package: version" pairs:
held:
alien: 8.95
iotop: 0.6-2

# Alternativelly, held packages can also be specified as a list with
# no versions. In this case, the package will be held in the installed
# version.
# held:
# - alien
# - iotop
wanted:
- git
- less
- bc
- curl
- fail2ban
unwanted:
- avahi-daemon
required:
pkgs:
- wget
- git
pips:
required:
pkgs:
- libpython2.7-dev
- python-pip
wanted:
- dxpy
- attrs
unwanted:
- campbel
- reverse_geocode
- indy-crypto
config:
global:
timeout: 120
default-timeout: 120
# proxy: http://proxy.example.com:3128
gems:
wanted:
- progressbar
- minitest
unwanted:
- diff-lcs
- kitchen-vagrant
- kwalify
# Disable Snaps testing in Ubuntu 18 due to
# https://github.com/saltstack-formulas/packages-formula/issues/44
# snaps:
# wanted:
# - hello-world
# classic:
# - test-snapd-hello-classic
# unwanted:
# - goodbye-world
archives:
wanted:
terminator:
dest: /usr/local/terminator/
options: '--strip-components=1' #recommended option, but beware tarbombs
dl:
format: tar
source: https://launchpad.net/terminator/gtk3/1.91/+download/terminator-1.91.tar.gz
#hashurl: https://launchpad.net/terminator/gtk3/1.91/+download/terminator-1.91.tar.gz/+md5
hashsum: md5=2eed999d7a41f2e18eaa511bbbf80f58
phantomjs:
dest: /usr/local/src/ #beware tarbombs
user: root
mode: '0700'
dl:
format: tar
source: https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
hashsum: md5=1c947d57fce2f21ce0b43fe2ed7cd361
blockbox:
dest: /usr/local/src/
dl:
format: raw
source: https://raw.githubusercontent.com/openstack/cinder/master/contrib/block-box/docker-compose.yml
hashsum: 1751f8e4f6b4cddd8c4843a0f4473274
kubectl:
dest: /usr/local/bin
dl:
format: bin
source: https://storage.googleapis.com/kubernetes-release/release/v1.12.0/bin/darwin/amd64/kubectl
unwanted:
- /usr/local/boring_archive_software

remote_pkgs:
zoom: 'https://zoom.us/client/latest/zoom_amd64.deb'

15 changes: 11 additions & 4 deletions test/integration/default/pips_spec.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
### WANTED/REQUIRED
case os[:name]
when 'fedora', 'opensuse'
wanted_pips = []
else
wanted_pips = %w{
dxpy
attrs
}
end

control 'Wanted/Required python packages' do
title 'should be installed'

%w{
dxpy
attrs
}.each do |p|
wanted_pips.each do |p|
describe pip(p) do
it { should be_installed }
end
Expand Down
10 changes: 8 additions & 2 deletions test/integration/default/pkgs_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,16 @@
python3-dnf-plugin-versionlock
)
held_packages = {
'alien': '8.95-5.fc27',
'iotop': '0.6-15.fc27'
'alien': '8.95-8.fc29',
'iotop': '0.6-18.fc29'
}
lock_file = '/etc/dnf/plugins/versionlock.list'
# Adding empty Suse entries, to get tests passing
# Don't know the correct values to add here.
when 'opensuse'
os_packages = %w()
held_packages = {}
lock_file = ''
when 'debian', 'ubuntu'
os_packages = %w()
held_packages = {
Expand Down

0 comments on commit 7b74a1b

Please sign in to comment.