Compare commits
	
		
			No commits in common. "c8" and "c8s" have entirely different histories.
		
	
	
		
	
		
							
								
								
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1 +1,8 @@ | ||||
| SOURCES/cockpit-composer-50.tar.gz | ||||
| SOURCES/cockpit-composer-43.tar.gz | ||||
| /cockpit-composer-43.tar.gz | ||||
| /cockpit-composer-44.tar.gz | ||||
| /cockpit-composer-45.tar.gz | ||||
| /cockpit-composer-46.tar.gz | ||||
| /cockpit-composer-47.tar.gz | ||||
| /cockpit-composer-49.tar.gz | ||||
| /cockpit-composer-50.tar.gz | ||||
|  | ||||
							
								
								
									
										6
									
								
								gating.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								gating.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| --- !Policy | ||||
| product_versions: | ||||
|   - rhel-8 | ||||
| decision_context: osci_compose_gate | ||||
| rules: | ||||
|   - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} | ||||
							
								
								
									
										1
									
								
								sources
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								sources
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| SHA512 (cockpit-composer-50.tar.gz) = b78cad4c2cc70c0605311dc6a7a20cb5390d83435d564a1d8c2a9390240667ac5fdfc2cd7dd6192957bbdc5511bd307c01fe82da91a4d7b627cb683f3254c5a5 | ||||
							
								
								
									
										4
									
								
								tests/provision.fmf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								tests/provision.fmf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| --- | ||||
| standard-inventory-qcow2: | ||||
|   qemu: | ||||
|       m: 4G | ||||
							
								
								
									
										29
									
								
								tests/run-test.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								tests/run-test.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,29 @@ | ||||
| #!/bin/sh | ||||
| set -eux | ||||
| 
 | ||||
| cd $SOURCE | ||||
| git init | ||||
| make bots test/common machine | ||||
| 
 | ||||
| # only install a subset to save time/space | ||||
| npm install chrome-remote-interface sizzle | ||||
| 
 | ||||
| . /etc/os-release | ||||
| export TEST_OS="${ID}-${VERSION_ID/./-}" | ||||
| 
 | ||||
| RC=0 | ||||
| 
 | ||||
| for t in test/verify/check-{blueprintList,blueprintWizard,imageWizard} | ||||
| do | ||||
|   $t \ | ||||
|     --enable-network \ | ||||
|     --machine 127.0.0.1:22 \ | ||||
|     --browser 127.0.0.1:9090 \ | ||||
|     --verbose --trace \ | ||||
|     || RC=$? | ||||
| done | ||||
| 
 | ||||
| echo $RC > "$LOGS/exitcode" | ||||
| cp --verbose Test* "$LOGS" || true | ||||
| # deliver test result via exitcode file | ||||
| exit 0 | ||||
							
								
								
									
										33
									
								
								tests/tests.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								tests/tests.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | ||||
| --- | ||||
| - hosts: localhost | ||||
|   roles: | ||||
|   - role: standard-test-source | ||||
|     tags: | ||||
|     - always | ||||
| 
 | ||||
|   - role: standard-test-basic | ||||
|     tags: | ||||
|     - atomic | ||||
|     - classic | ||||
|     required_packages: | ||||
|       - cockpit-composer | ||||
|       - composer-cli | ||||
|       - nodejs | ||||
|       - git | ||||
|       - curl | ||||
|       - createrepo_c | ||||
|       - dnf-automatic | ||||
|       - firewalld | ||||
|       - git | ||||
|       - libvirt-daemon-config-network | ||||
|       - libvirt-python3 | ||||
|       - make | ||||
|       - npm | ||||
|       - python3 | ||||
|       - targetcli | ||||
|       - tlog | ||||
|     tests: | ||||
|       - verify: | ||||
|           dir: . | ||||
|           run: ./verify.sh | ||||
|           save-files: ["logs/*"] | ||||
							
								
								
									
										57
									
								
								tests/verify.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										57
									
								
								tests/verify.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,57 @@ | ||||
| #!/bin/sh | ||||
| set -eux | ||||
| 
 | ||||
| # from standard-test-source | ||||
| SOURCE="$(pwd)/source" | ||||
| LOGS="$(pwd)/logs" | ||||
| TESTS="$(pwd)/tests" | ||||
| mkdir -p "$LOGS" | ||||
| chmod a+w "$LOGS" | ||||
| 
 | ||||
| # install browser; on RHEL, use chromium from epel | ||||
| if ! rpm -q chromium-headless; then | ||||
|     if grep -q 'ID=.*rhel' /etc/os-release; then | ||||
|         dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm | ||||
|         dnf config-manager --enable epel | ||||
|     fi | ||||
|     # use chromium due to https://bugs.chromium.org/p/chromium/issues/detail?id=1170634 | ||||
|     dnf install -y chromium | ||||
| fi | ||||
| # HACK: use nodejs:18/common to avoid the default of nodejs 14, which is not available on RHEL 8 | ||||
| dnf module reset nodejs | ||||
| dnf module install -y nodejs:18/common | ||||
| 
 | ||||
| # overriding osbuild-composer repo with nightly | ||||
| mkdir -p /etc/osbuild-composer/repositories | ||||
| cp $SOURCE/test/files/rhel-*.json /etc/osbuild-composer/repositories/ | ||||
| 
 | ||||
| # Make cockpit.socket and lorax-composer start | ||||
| systemctl start cockpit.socket | ||||
| systemctl start osbuild-composer.socket | ||||
| 
 | ||||
| # create user account for logging in | ||||
| if ! id admin 2>/dev/null; then | ||||
|     useradd -c Administrator -G wheel admin | ||||
|     echo admin:foobar | chpasswd | ||||
| fi | ||||
| 
 | ||||
| # create user account for running the test | ||||
| if ! id runtest 2>/dev/null; then | ||||
|     useradd -c 'Test runner' runtest | ||||
|     # allow test to set up things on the machine | ||||
|     mkdir -p /root/.ssh | ||||
|     curl https://raw.githubusercontent.com/cockpit-project/bots/master/machine/identity.pub  >> /root/.ssh/authorized_keys | ||||
|     chmod 600 /root/.ssh/authorized_keys | ||||
| fi | ||||
| chown -R runtest "$SOURCE" | ||||
| 
 | ||||
| # disable core dumps, we rather investigate them upstream where test VMs are accessible | ||||
| echo core > /proc/sys/kernel/core_pattern | ||||
| 
 | ||||
| cp -r $SOURCE/test/files /home/admin | ||||
| 
 | ||||
| # Run tests as unprivileged user | ||||
| su - -c "env SOURCE=$SOURCE LOGS=$LOGS $TESTS/run-test.sh" runtest | ||||
| 
 | ||||
| RC=$(cat $LOGS/exitcode) | ||||
| exit ${RC:-1} | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user