Move requirements into tests. (#35885)
This commit is contained in:
parent
9704668277
commit
e7b793c8c6
15 changed files with 58 additions and 26 deletions
|
@ -1 +1,2 @@
|
|||
destructive
|
||||
posix/ci/group3
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
6
test/integration/targets/ansible-galaxy/setup.yml
Normal file
6
test/integration/targets/ansible-galaxy/setup.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
- hosts: localhost
|
||||
tasks:
|
||||
- name: install git
|
||||
package:
|
||||
name: git
|
||||
when: ansible_distribution != "MacOSX"
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
@ -1141,7 +1137,7 @@
|
|||
- stat_link_result.stat.islnk
|
||||
|
||||
- name: Get the checksum of the link target
|
||||
shell: "{{ sha1sum.stdout }} {{remote_dir}}/follow_test | cut -f1 -sd ' '"
|
||||
shell: "{{ ansible_python_interpreter }} -c 'import hashlib; print(hashlib.sha1(open(\"{{remote_dir | expanduser}}/follow_test\", \"rb\").read()).hexdigest())'"
|
||||
register: target_file_result
|
||||
|
||||
- name: Assert that the link target was updated
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
3
test/integration/targets/gem/vars/FreeBSD.yml
Normal file
3
test/integration/targets/gem/vars/FreeBSD.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
test_packages:
|
||||
- "devel/ruby-gems"
|
||||
- "ruby"
|
2
test/integration/targets/gem/vars/RedHat.yml
Normal file
2
test/integration/targets/gem/vars/RedHat.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
test_packages:
|
||||
- "rubygems"
|
1
test/integration/targets/gem/vars/default.yml
Normal file
1
test/integration/targets/gem/vars/default.yml
Normal file
|
@ -0,0 +1 @@
|
|||
test_packages: []
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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}"
|
||||
(
|
||||
|
|
6
test/integration/targets/pull/setup.yml
Normal file
6
test/integration/targets/pull/setup.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
- hosts: localhost
|
||||
tasks:
|
||||
- name: install git
|
||||
package:
|
||||
name: git
|
||||
when: ansible_distribution != "MacOSX"
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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}}/*
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue