344 lines
6.1 KiB
Bash
344 lines
6.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
globalTests+=(
|
|
utc
|
|
no-hard-coded-passwords
|
|
override-cmd
|
|
)
|
|
|
|
# for "explicit" images, only run tests that are explicitly specified for that image/variant
|
|
explicitTests+=(
|
|
[:onbuild]=1
|
|
)
|
|
imageTests[:onbuild]+='
|
|
override-cmd
|
|
'
|
|
|
|
testAlias+=(
|
|
[amazoncorretto]='openjdk'
|
|
[adoptopenjdk]='openjdk'
|
|
[eclipse-temurin]='openjdk'
|
|
[sapmachine]='openjdk'
|
|
[ibm-semeru-runtimes]='openjdk'
|
|
|
|
[jruby]='ruby'
|
|
[pypy]='python'
|
|
|
|
[ubuntu]='debian'
|
|
|
|
[mariadb]='mysql'
|
|
[percona]='mysql'
|
|
[percona:psmdb]='mongo'
|
|
)
|
|
|
|
imageTests+=(
|
|
[aerospike]='
|
|
'
|
|
[busybox]='
|
|
'
|
|
[cassandra]='
|
|
cassandra-basics
|
|
'
|
|
[clojure]='
|
|
'
|
|
[crate]='
|
|
'
|
|
[composer]='
|
|
composer
|
|
'
|
|
[convertigo]='
|
|
convertigo-hello-world
|
|
'
|
|
[dart]='
|
|
dart-hello-world
|
|
'
|
|
[debian]='
|
|
debian-apt-get
|
|
'
|
|
[docker:dind]='
|
|
docker-dind
|
|
docker-registry-push-pull
|
|
'
|
|
[eclipse-mosquitto]='
|
|
eclipse-mosquitto-basics
|
|
'
|
|
[elixir]='
|
|
elixir-hello-world
|
|
'
|
|
[erlang]='
|
|
erlang-hello-world
|
|
'
|
|
[gcc]='
|
|
gcc-c-hello-world
|
|
gcc-cpp-hello-world
|
|
golang-hello-world
|
|
'
|
|
[ghost]='
|
|
ghost-basics
|
|
'
|
|
[golang]='
|
|
golang-hello-world
|
|
'
|
|
[haproxy]='
|
|
haproxy-basics
|
|
'
|
|
[haskell]='
|
|
haskell-cabal
|
|
haskell-stack
|
|
haskell-ghci
|
|
haskell-runhaskell
|
|
'
|
|
[haxe]='
|
|
haxe-hello-world
|
|
haxe-haxelib-install
|
|
'
|
|
[hylang]='
|
|
hylang-sh
|
|
hylang-hello-world
|
|
'
|
|
[jetty]='
|
|
jetty-hello-web
|
|
'
|
|
[julia]='
|
|
julia-hello-world
|
|
julia-downloads
|
|
'
|
|
[logstash]='
|
|
logstash-basics
|
|
'
|
|
[matomo:apache]='
|
|
matomo-apache-run
|
|
'
|
|
[matomo:fpm]='
|
|
matomo-fpm-run
|
|
'
|
|
[memcached]='
|
|
memcached-basics
|
|
'
|
|
[mongo]='
|
|
mongo-basics
|
|
mongo-auth-basics
|
|
mongo-tls-basics
|
|
mongo-tls-auth
|
|
'
|
|
[monica]='
|
|
monica-cli
|
|
monica-cli-mysql8
|
|
monica-cli-mariadb10
|
|
'
|
|
[monica:apache]='
|
|
monica-apache-run
|
|
'
|
|
[monica:fpm]='
|
|
monica-fpm-run
|
|
'
|
|
[monica:fpm-alpine]='
|
|
monica-fpm-run
|
|
'
|
|
[mongo-express]='
|
|
mongo-express-run
|
|
'
|
|
[mono]='
|
|
'
|
|
[mysql]='
|
|
mysql-basics
|
|
mysql-initdb
|
|
mysql-log-bin
|
|
'
|
|
[nextcloud]='
|
|
nextcloud-cli
|
|
'
|
|
[nextcloud:apache]='
|
|
nextcloud-apache-run
|
|
'
|
|
[nextcloud:fpm]='
|
|
nextcloud-fpm-run
|
|
'
|
|
[node]='
|
|
node-hello-world
|
|
'
|
|
[nuxeo]='
|
|
nuxeo-conf
|
|
nuxeo-basics
|
|
'
|
|
[openjdk]='
|
|
java-hello-world
|
|
java-uimanager-font
|
|
java-ca-certificates
|
|
'
|
|
[open-liberty]='
|
|
open-liberty-hello-world
|
|
'
|
|
[percona]='
|
|
percona-tokudb
|
|
percona-rocksdb
|
|
'
|
|
[perl]='
|
|
perl-hello-world
|
|
perl-cpanm
|
|
'
|
|
[php]='
|
|
php-ext-install
|
|
php-hello-world
|
|
php-argon2
|
|
'
|
|
[php:apache]='
|
|
php-apache-hello-web
|
|
'
|
|
[php:fpm]='
|
|
php-fpm-hello-web
|
|
'
|
|
[plone]='
|
|
plone-basics
|
|
plone-addons
|
|
plone-cors
|
|
plone-versions
|
|
plone-zeoclient
|
|
plone-zeosite
|
|
'
|
|
[postfixadmin:apache]='
|
|
postfixadmin-apache-run
|
|
'
|
|
[postfixadmin:fpm]='
|
|
postfixadmin-fpm-run
|
|
'
|
|
[postgres]='
|
|
postgres-basics
|
|
postgres-initdb
|
|
'
|
|
[python]='
|
|
python-imports
|
|
python-no-pyc
|
|
python-pip-requests-ssl
|
|
python-sqlite3
|
|
python-stack-size
|
|
'
|
|
[rabbitmq]='
|
|
rabbitmq-basics
|
|
rabbitmq-tls
|
|
'
|
|
[r-base]='
|
|
'
|
|
[redis]='
|
|
redis-basics
|
|
redis-basics-tls
|
|
redis-basics-config
|
|
redis-basics-persistent
|
|
'
|
|
[redmine]='
|
|
redmine-basics
|
|
'
|
|
[registry]='
|
|
docker-registry-push-pull
|
|
'
|
|
[rethinkdb]='
|
|
'
|
|
[ruby]='
|
|
ruby-hello-world
|
|
ruby-standard-libs
|
|
ruby-gems
|
|
ruby-bundler
|
|
ruby-nonroot
|
|
ruby-binstubs
|
|
ruby-native-extension
|
|
'
|
|
[rust]='
|
|
rust-hello-world
|
|
'
|
|
[silverpeas]='
|
|
silverpeas-basics
|
|
'
|
|
[spiped]='
|
|
spiped-basics
|
|
'
|
|
[swipl]='
|
|
swipl-modules
|
|
'
|
|
[swift]='
|
|
swift-hello-world
|
|
'
|
|
[tomcat]='
|
|
tomcat-hello-world
|
|
'
|
|
[varnish]='
|
|
varnish
|
|
'
|
|
[wordpress:apache]='
|
|
wordpress-apache-run
|
|
'
|
|
[wordpress:fpm]='
|
|
wordpress-fpm-run
|
|
'
|
|
[znc]='
|
|
znc-basics
|
|
'
|
|
[zookeeper]='
|
|
zookeeper-basics
|
|
'
|
|
)
|
|
|
|
globalExcludeTests+=(
|
|
# single-binary images
|
|
[hello-world_no-hard-coded-passwords]=1
|
|
[hello-world_utc]=1
|
|
[nats-streaming_no-hard-coded-passwords]=1
|
|
[nats-streaming_utc]=1
|
|
[nats_no-hard-coded-passwords]=1
|
|
[nats_utc]=1
|
|
[traefik_no-hard-coded-passwords]=1
|
|
[traefik_utc]=1
|
|
|
|
# clearlinux has no /etc/passwd
|
|
# https://github.com/docker-library/official-images/pull/1721#issuecomment-234128477
|
|
[clearlinux_no-hard-coded-passwords]=1
|
|
|
|
# alpine/slim/nanoserver openjdk images are headless and so can't do font stuff
|
|
[openjdk:alpine_java-uimanager-font]=1
|
|
[openjdk:slim_java-uimanager-font]=1
|
|
[openjdk:nanoserver_java-uimanager-font]=1
|
|
|
|
# the Swift slim images are not expected to be able to run the swift-hello-world test because it involves compiling Swift code. The slim images are for running an already built binary.
|
|
# https://github.com/docker-library/official-images/pull/6302#issuecomment-512181863
|
|
[swift:slim_swift-hello-world]=1
|
|
|
|
# The new tag kernel-slim provides the bare minimum server image for users to build upon to create their application images.
|
|
# https://github.com/docker-library/official-images/pull/8993#issuecomment-723328400
|
|
[open-liberty:slim_open-liberty-hello-world]=1
|
|
|
|
# no "native" dependencies
|
|
[ruby:alpine_ruby-bundler]=1
|
|
[ruby:alpine_ruby-gems]=1
|
|
[ruby:slim_ruby-bundler]=1
|
|
[ruby:slim_ruby-gems]=1
|
|
|
|
# MySQL-assuming tests cannot be run on MongoDB-providing images
|
|
[percona:psmdb_percona-tokudb]=1
|
|
[percona:psmdb_percona-rocksdb]=1
|
|
|
|
# windows!
|
|
[:nanoserver_no-hard-coded-passwords]=1
|
|
[:nanoserver_utc]=1
|
|
[:windowsservercore_no-hard-coded-passwords]=1
|
|
[:windowsservercore_utc]=1
|
|
|
|
# https://github.com/docker-library/official-images/pull/2578#issuecomment-274889851
|
|
[nats:nanoserver_override-cmd]=1
|
|
[nats:windowsservercore_override-cmd]=1
|
|
[nats-streaming:nanoserver_override-cmd]=1
|
|
[nats-streaming:windowsservercore_override-cmd]=1
|
|
|
|
# https://github.com/docker-library/official-images/pull/8329#issuecomment-656383836
|
|
[traefik:windowsservercore_override-cmd]=1
|
|
[traefik:nanoserver_override-cmd]=1
|
|
|
|
# TODO adjust MongoDB tests to use docker networks instead of links so they can work on Windows (and consider using PowerShell to generate appropriate certificates for TLS tests instead of openssl)
|
|
[mongo:nanoserver_mongo-basics]=1
|
|
[mongo:nanoserver_mongo-auth-basics]=1
|
|
[mongo:nanoserver_mongo-tls-basics]=1
|
|
[mongo:nanoserver_mongo-tls-auth]=1
|
|
[mongo:windowsservercore_mongo-basics]=1
|
|
[mongo:windowsservercore_mongo-auth-basics]=1
|
|
[mongo:windowsservercore_mongo-tls-basics]=1
|
|
[mongo:windowsservercore_mongo-tls-auth]=1
|
|
)
|