Move requirements into tests. (#35885)

(cherry picked from commit e7b793c8c6)
This commit is contained in:
Matt Clay 2018-02-10 10:48:44 -08:00
parent eb77afe4de
commit 20ab1d2994
15 changed files with 57 additions and 25 deletions

View file

@ -1 +1,2 @@
destructive
posix/ci/group3

View file

@ -2,6 +2,8 @@
set -eux -o pipefail
ansible-playbook setup.yml
# Need a relative custom roles path for testing various scenarios of -p
galaxy_relative_rolespath="my/custom/roles/path"

View file

@ -0,0 +1,6 @@
- hosts: localhost
tasks:
- name: install git
package:
name: git
when: ansible_distribution != "MacOSX"

View file

@ -100,10 +100,6 @@
shell: which bash
register: bash
- name: locate sha1sum/shasum
shell: which sha1sum || which shasum
register: sha1sum
##
## command
##
@ -196,7 +192,7 @@
- "command_result5.stdout == 'foobar'"
- name: send to stdin literal multiline block
command: "{{ sha1sum.stdout }}"
command: "{{ ansible_python_interpreter }} -c 'import hashlib, sys; print(hashlib.sha1((sys.stdin.buffer if hasattr(sys.stdin, \"buffer\") else sys.stdin).read()).hexdigest())'"
args:
stdin: |-
this is the first line
@ -209,7 +205,7 @@
- name: assert the multiline input was passed correctly
assert:
that:
- "command_result6.stdout == '9cd0697c6a9ff6689f0afb9136fa62e0b3fee903 -'"
- "command_result6.stdout == '9cd0697c6a9ff6689f0afb9136fa62e0b3fee903'"
##
## shell
@ -278,9 +274,7 @@
"multiline echo" \
"with a new line
in quotes" \
| {{ sha1sum.stdout }} \
| tr -s ' ' \
| cut -f1 -d ' '
| {{ ansible_python_interpreter }} -c 'import hashlib, sys; print(hashlib.sha1((sys.stdin.buffer if hasattr(sys.stdin, "buffer") else sys.stdin).read()).hexdigest())'
echo "this is a second line"
register: shell_result5

View file

@ -9,10 +9,6 @@
set_fact:
remote_file: "{{ remote_dir }}/foo.txt"
- name: Locate sha1sum/shasum
shell: which sha1sum || which shasum
register: sha1sum
- name: Initiate a basic copy, and also test the mode
copy:
src: foo.txt

View file

@ -16,6 +16,22 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
- include_vars: '{{ item }}'
with_first_found:
- files:
- '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
- '{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml'
- '{{ ansible_os_family }}.yml'
- 'default.yml'
paths: '../vars'
- name: install dependencies for test
package: name={{ package_item }} state=present
with_items: "{{ test_packages }}"
loop_control:
loop_var: package_item
when: ansible_distribution != "MacOSX"
- name: remove a gem
gem: name=gist state=absent

View file

@ -0,0 +1,3 @@
test_packages:
- "devel/ruby-gems"
- "ruby"

View file

@ -0,0 +1,2 @@
test_packages:
- "rubygems"

View file

@ -0,0 +1 @@
test_packages: []

View file

@ -8,6 +8,11 @@
path: "{{ output_dir }}"
state: directory
- name: SETUP | install git
package:
name: git
when: ansible_distribution != "MacOSX"
- name: SETUP | verify that git is installed so this test can continue
shell: which git

View file

@ -11,6 +11,8 @@ repo_dir="${temp_dir}/repo"
pull_dir="${temp_dir}/pull"
temp_log="${temp_dir}/pull.log"
ansible-playbook setup.yml
cp -av "pull-integration-test" "${repo_dir}"
cd "${repo_dir}"
(

View file

@ -0,0 +1,6 @@
- hosts: localhost
tasks:
- name: install git
package:
name: git
when: ansible_distribution != "MacOSX"

View file

@ -25,6 +25,11 @@
- name: clean out the output_dir
shell: rm -rf {{ output_dir }}/*
- name: install subversion
package:
name: subversion
when: ansible_distribution != "MacOSX"
- name: verify that subversion is installed so this test can continue
shell: which svn

View file

@ -16,6 +16,11 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
- name: install rsync
package:
name: rsync
when: ansible_distribution != "MacOSX"
- name: cleanup old files
shell: rm -rf {{output_dir}}/*

View file

@ -14,16 +14,9 @@ if [ "${platform}" = "freebsd" ]; then
pkg install -y \
bash \
curl \
devel/ruby-gems \
git \
gtar \
mercurial \
python \
rsync \
ruby \
subversion \
sudo \
zip \
&& break
echo "Failed to install packages. Sleeping before trying again..."
sleep 10
@ -34,15 +27,10 @@ elif [ "${platform}" = "rhel" ]; then
while true; do
yum install -y \
gcc \
git \
mercurial \
python-devel \
python-jinja2 \
python-virtualenv \
python2-cryptography \
rubygems \
subversion \
unzip \
&& break
echo "Failed to install packages. Sleeping before trying again..."
sleep 10