Change integration tests in order to pass on Fedora 30 (#58081)

* Use different package for DNF tests
    Ninja caused errors in Fedora 30. This works in both Fedora 29 and 30.

* Fix git integration tests
    Git >= 2.21.0 has either a bug or change in behavior where it errors when fetching a
    repository containing submodules that are behind the upstream submodule commits.
    It's weird and I don't fully understand it.

    Get around this my checking out specific commits from a repository rather than
    switch the origin URL.

* Fix PostgreSQL tests
    The error message is slightly different
This commit is contained in:
Sam Doran 2019-06-19 12:38:05 -04:00 committed by GitHub
parent bdd0bbf50a
commit 18feeb51a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 47 additions and 37 deletions

View file

@ -6,7 +6,7 @@
- name: set package for Fedora - name: set package for Fedora
set_fact: set_fact:
astream_name: '@ninja:master/default' astream_name: '@ripgrep:master/default'
when: ansible_distribution == 'Fedora' when: ansible_distribution == 'Fedora'
- name: install "{{ astream_name }}" module - name: install "{{ astream_name }}" module

View file

@ -37,3 +37,7 @@
file: file:
path: "{{ repo_dir }}" path: "{{ repo_dir }}"
state: directory state: directory
- name: SETUP | show git version
debug:
msg: "Running test with git {{ git_version.stdout }}"

View file

@ -22,13 +22,16 @@
- name: SUBMODULES | Test that clone without recursive does not retrieve submodules - name: SUBMODULES | Test that clone without recursive does not retrieve submodules
git: git:
repo: "{{ repo_submodules }}" repo: "{{ repo_submodules }}"
version: 45c6c07ef10fd9e453d90207e63da1ce5bd3ae1e
dest: "{{ checkout_dir }}" dest: "{{ checkout_dir }}"
recursive: no recursive: no
- command: 'ls -1a {{ checkout_dir }}/submodule1' - name: SUBMODULES | List submodule1
command: 'ls -1a {{ checkout_dir }}/submodule1'
register: submodule1 register: submodule1
- assert: - name: SUBMODULES | Ensure submodu1 is at the appropriate commit
assert:
that: '{{ submodule1.stdout_lines | length }} == 2' that: '{{ submodule1.stdout_lines | length }} == 2'
- name: SUBMODULES | clear checkout_dir - name: SUBMODULES | clear checkout_dir
@ -41,76 +44,81 @@
git: git:
repo: "{{ repo_submodules }}" repo: "{{ repo_submodules }}"
dest: "{{ checkout_dir }}" dest: "{{ checkout_dir }}"
version: 45c6c07ef10fd9e453d90207e63da1ce5bd3ae1e
recursive: yes recursive: yes
- command: 'ls -1a {{ checkout_dir }}/submodule1' - name: SUBMODULES | List submodule1
command: 'ls -1a {{ checkout_dir }}/submodule1'
register: submodule1 register: submodule1
- assert: - name: SUBMODULES | Ensure submodule1 is at the appropriate commit
assert:
that: '{{ submodule1.stdout_lines | length }} == 4' that: '{{ submodule1.stdout_lines | length }} == 4'
- name: SUBMODULES | Copy the checkout so we can run several different tests on it - name: SUBMODULES | Copy the checkout so we can run several different tests on it
command: 'cp -pr {{ checkout_dir }} {{ checkout_dir }}.bak' command: 'cp -pr {{ checkout_dir }} {{ checkout_dir }}.bak'
- name: SUBMODULES | Test that update without recursive does not change submodules - name: SUBMODULES | Test that update without recursive does not change submodules
command: 'git config --replace-all remote.origin.url {{ repo_submodules_newer }}' git:
args: repo: "{{ repo_submodules }}"
chdir: '{{ checkout_dir }}' version: d2974e4bbccdb59368f1d5eff2205f0fa863297e
- git:
repo: "{{ repo_submodules_newer }}"
dest: "{{ checkout_dir }}" dest: "{{ checkout_dir }}"
recursive: no recursive: no
update: yes update: yes
track_submodules: yes track_submodules: yes
- command: 'ls -1a {{ checkout_dir }}/submodule1' - name: SUBMODULES | List submodule1
command: 'ls -1a {{ checkout_dir }}/submodule1'
register: submodule1 register: submodule1
- stat: - name: SUBMODULES | Stat submodule2
stat:
path: "{{ checkout_dir }}/submodule2" path: "{{ checkout_dir }}/submodule2"
register: submodule2 register: submodule2
- command: ls -1a {{ checkout_dir }}/submodule2 - name: SUBMODULES | List submodule2
command: ls -1a {{ checkout_dir }}/submodule2
register: submodule2 register: submodule2
- assert: - name: SUBMODULES | Ensure both submodules are at the appropriate commit
that: '{{ submodule1.stdout_lines|length }} == 4' assert:
that:
- assert: - '{{ submodule1.stdout_lines|length }} == 4'
that: '{{ submodule2.stdout_lines|length }} == 2' - '{{ submodule2.stdout_lines|length }} == 2'
- name: SUBMODULES | Restore checkout to prior state - name: SUBMODULES | Remove checkout dir
file: file:
state: absent state: absent
path: "{{ checkout_dir }}" path: "{{ checkout_dir }}"
- command: 'cp -pr {{ checkout_dir }}.bak {{ checkout_dir }}'
- name: SUBMODULES | Restore checkout to prior state
command: 'cp -pr {{ checkout_dir }}.bak {{ checkout_dir }}'
- name: SUBMODULES | Test that update with recursive updated existing submodules - name: SUBMODULES | Test that update with recursive updated existing submodules
command: 'git config --replace-all remote.origin.url {{ repo_submodules_newer }}' git:
args: repo: "{{ repo_submodules }}"
chdir: "{{ checkout_dir }}" version: d2974e4bbccdb59368f1d5eff2205f0fa863297e
- git:
repo: "{{ repo_submodules_newer }}"
dest: "{{ checkout_dir }}" dest: "{{ checkout_dir }}"
update: yes update: yes
recursive: yes recursive: yes
track_submodules: yes track_submodules: yes
- command: 'ls -1a {{ checkout_dir }}/submodule1' - name: SUBMODULES | List submodule 1
command: 'ls -1a {{ checkout_dir }}/submodule1'
register: submodule1 register: submodule1
- assert: - name: SUBMODULES | Ensure submodule1 is at the appropriate commit
that: '{{ submodule1.stdout_lines|length }} == 5' assert:
that: '{{ submodule1.stdout_lines | length }} == 5'
- name: SUBMODULES | Test that update with recursive found new submodules - name: SUBMODULES | Test that update with recursive found new submodules
command: 'ls -1a {{ checkout_dir }}/submodule2' command: 'ls -1a {{ checkout_dir }}/submodule2'
register: submodule2 register: submodule2
- assert: - name: SUBMODULES | Enusre submodule2 is at the appropriate commit
that: '{{ submodule2.stdout_lines|length }} == 4' assert:
that: '{{ submodule2.stdout_lines | length }} == 4'

View file

@ -15,10 +15,8 @@ separate_git_dir: '{{ output_dir }}/sep_git_dir'
repo_format1: 'https://github.com/jimi-c/test_role' repo_format1: 'https://github.com/jimi-c/test_role'
repo_format2: 'git@github.com:jimi-c/test_role.git' repo_format2: 'git@github.com:jimi-c/test_role.git'
repo_format3: 'ssh://git@github.com/jimi-c/test_role.git' repo_format3: 'ssh://git@github.com/jimi-c/test_role.git'
repo_submodules: 'https://github.com/abadger/test_submodules.git' repo_submodules: 'https://github.com/abadger/test_submodules_newer.git'
repo_submodules_newer: 'https://github.com/abadger/test_submodules_newer.git'
repo_submodule1: 'https://github.com/abadger/test_submodules_subm1.git' repo_submodule1: 'https://github.com/abadger/test_submodules_subm1.git'
repo_submodule1_newer: 'https://github.com/abadger/test_submodules_subm1_newer.git'
repo_submodule2: 'https://github.com/abadger/test_submodules_subm2.git' repo_submodule2: 'https://github.com/abadger/test_submodules_subm2.git'
repo_update_url_1: 'https://github.com/ansible-test-robinro/git-test-old' repo_update_url_1: 'https://github.com/ansible-test-robinro/git-test-old'
repo_update_url_2: 'https://github.com/ansible-test-robinro/git-test-new' repo_update_url_2: 'https://github.com/ansible-test-robinro/git-test-new'

View file

@ -27,7 +27,7 @@
- assert: - assert:
that: that:
- 'pg_authid is failed' - 'pg_authid is failed'
- '"permission denied for relation pg_authid" in pg_authid.stderr' - pg_authid.stderr is search('permission denied for (relation|table) pg_authid')
- name: "Normal user isn't allowed to access pg_authid relation: password comparison will fail, password will be updated" - name: "Normal user isn't allowed to access pg_authid relation: password comparison will fail, password will be updated"
become_user: "{{ pg_user }}" become_user: "{{ pg_user }}"