This repository has been archived by the owner on Feb 15, 2024. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b7e644a
commit 7fec31b
Showing
4 changed files
with
164 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
{ | ||
"containers": [ | ||
{ | ||
"prettyName": "PHP 5.2 on Ubuntu on Latest WP", | ||
"image": "tlovett1/php-5.2-phpunit-3.5", | ||
"beforeScripts": [ | ||
"service mysql start", | ||
"bash tests/bin/install-wp-tests.sh wordpress_test root '' localhost latest" | ||
], | ||
"testCommand": "phpunit" | ||
}, | ||
{ | ||
"prettyName": "PHP 5.2 on Ubuntu on WP 3.8", | ||
"image": "tlovett1/php-5.2-phpunit-3.5", | ||
"beforeScripts": [ | ||
"service mysql start", | ||
"bash tests/bin/install-wp-tests.sh wordpress_test root '' localhost 3.8" | ||
], | ||
"testCommand": "phpunit" | ||
}, | ||
{ | ||
"prettyName": "PHP 5.5 FPM WordPress Latest WP", | ||
"image": "tlovett1/php-fpm-phpunit-wp", | ||
"beforeScripts": [ | ||
"service mysql start", | ||
"bash tests/bin/install-wp-tests.sh wordpress_test root '' localhost latest" | ||
], | ||
"testCommand": "phpunit" | ||
}, | ||
{ | ||
"prettyName": "PHP 5.5 FPM WordPress WP 3.8", | ||
"image": "tlovett1/php-fpm-phpunit-wp", | ||
"beforeScripts": [ | ||
"service mysql start", | ||
"bash tests/bin/install-wp-tests.sh wordpress_test root '' localhost 3.8" | ||
], | ||
"testCommand": "phpunit" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
#!/usr/bin/env bash | ||
# To install temp. test suite | ||
# bash tests/bin/install-wp-tests.sh wordpress_test root '' localhost latest | ||
|
||
if [ $# -lt 3 ]; then | ||
echo "usage: $0 <db-name> <db-user> <db-pass> [db-host] [wp-version]" | ||
exit 1 | ||
fi | ||
|
||
DB_NAME=$1 | ||
DB_USER=$2 | ||
DB_PASS=$3 | ||
DB_HOST=${4-localhost} | ||
WP_VERSION=${5-latest} | ||
|
||
WP_TESTS_DIR=${WP_TESTS_DIR-/tmp/wordpress-tests-lib} | ||
WP_CORE_DIR=/tmp/wordpress/ | ||
|
||
set -ex | ||
|
||
install_wp() { | ||
if [ $WP_CORE_DIR == '' ]; then | ||
rm -rf $WP_CORE_DIR | ||
fi | ||
|
||
mkdir -p $WP_CORE_DIR | ||
|
||
if [ $WP_VERSION == 'latest' ]; then | ||
local ARCHIVE_NAME='latest' | ||
else | ||
local ARCHIVE_NAME="wordpress-$WP_VERSION" | ||
fi | ||
|
||
wget -nv -O /tmp/wordpress.tar.gz https://wordpress.org/${ARCHIVE_NAME}.tar.gz --no-check-certificate | ||
tar --strip-components=1 -zxmf /tmp/wordpress.tar.gz -C $WP_CORE_DIR | ||
|
||
wget -nv -O $WP_CORE_DIR/wp-content/db.php https://raw.github.com/markoheijnen/wp-mysqli/master/db.php --no-check-certificate | ||
} | ||
|
||
install_test_suite() { | ||
# portable in-place argument for both GNU sed and Mac OSX sed | ||
if [[ $(uname -s) == 'Darwin' ]]; then | ||
local ioption='-i .bak' | ||
else | ||
local ioption='-i' | ||
fi | ||
|
||
# set up testing suite | ||
if [ $WP_TESTS_DIR == '' ]; then | ||
rm -rf $WP_TESTS_DIR | ||
fi | ||
|
||
mkdir -p $WP_TESTS_DIR | ||
cd $WP_TESTS_DIR | ||
svn co --quiet https://develop.svn.wordpress.org/trunk/tests/phpunit/includes/ | ||
|
||
wget -nv -O wp-tests-config.php https://develop.svn.wordpress.org/trunk/wp-tests-config-sample.php --no-check-certificate | ||
sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR':" wp-tests-config.php | ||
sed $ioption "s:define( 'WP_DEBUG', true );:define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true );:" wp-tests-config.php | ||
sed $ioption "s/youremptytestdbnamehere/$DB_NAME/" wp-tests-config.php | ||
sed $ioption "s/yourusernamehere/$DB_USER/" wp-tests-config.php | ||
sed $ioption "s/yourpasswordhere/$DB_PASS/" wp-tests-config.php | ||
sed $ioption "s|localhost|${DB_HOST}|" wp-tests-config.php | ||
} | ||
|
||
install_db() { | ||
# parse DB_HOST for port or socket references | ||
local PARTS=(${DB_HOST//\:/ }) | ||
local DB_HOSTNAME=${PARTS[0]}; | ||
local DB_SOCK_OR_PORT=${PARTS[1]}; | ||
local EXTRA="" | ||
|
||
if ! [ -z $DB_HOSTNAME ] ; then | ||
if [[ "$DB_SOCK_OR_PORT" =~ ^[0-9]+$ ]] ; then | ||
EXTRA=" --host=$DB_HOSTNAME --port=$DB_SOCK_OR_PORT --protocol=tcp" | ||
elif ! [ -z $DB_SOCK_OR_PORT ] ; then | ||
EXTRA=" --socket=$DB_SOCK_OR_PORT" | ||
elif ! [ -z $DB_HOSTNAME ] ; then | ||
EXTRA=" --host=$DB_HOSTNAME --protocol=tcp" | ||
fi | ||
fi | ||
|
||
# drop database | ||
mysql --user="$DB_USER" --password="$DB_PASS"$EXTRA -e "DROP DATABASE IF EXISTS $DB_NAME" | ||
|
||
# create database | ||
mysqladmin create $DB_NAME --user="$DB_USER" --password="$DB_PASS"$EXTRA | ||
} | ||
|
||
install_wp | ||
install_test_suite | ||
install_db |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,33 @@ | ||
<?php | ||
/** | ||
* Bootstrap the plugin unit testing environment. | ||
* | ||
* Edit 'active_plugins' setting below to point to your main plugin file. | ||
* | ||
* @package wordpress-plugin-tests | ||
*/ | ||
|
||
$_tests_dir = getenv('WP_TESTS_DIR'); | ||
if ( !$_tests_dir ) $_tests_dir = '/tmp/wordpress-tests-lib'; | ||
// Support for: | ||
// 1. `WP_DEVELOP_DIR` environment variable | ||
// 2. Plugin installed inside of WordPress.org developer checkout | ||
// 3. Tests checked out to /tmp | ||
if ( false !== getenv( 'WP_DEVELOP_DIR' ) ) { | ||
$test_root = getenv( 'WP_DEVELOP_DIR' ); | ||
} elseif ( false !== getenv( 'WP_TESTS_DIR' ) ) { | ||
$test_root = getenv( 'WP_TESTS_DIR' ); | ||
} else if ( file_exists( '../../../../tests/phpunit/includes/bootstrap.php' ) ) { | ||
$test_root = '../../../../tests/phpunit'; | ||
} else if ( file_exists( '/tmp/wordpress-tests-lib/includes/bootstrap.php' ) ) { | ||
$test_root = '/tmp/wordpress-tests-lib'; | ||
} | ||
|
||
require_once $_tests_dir . '/includes/functions.php'; | ||
require_once $test_root . '/includes/functions.php'; | ||
|
||
function _manually_load_plugin() { | ||
// Activates this plugin in WordPress so it can be tested. | ||
function _tests_dw_manually_load_plugin() { | ||
require dirname( __FILE__ ) . '/../dsgnwrks-instagram-importer.php'; | ||
} | ||
tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' ); | ||
tests_add_filter( 'muplugins_loaded', '_tests_dw_manually_load_plugin' ); | ||
|
||
require $_tests_dir . '/includes/bootstrap.php'; | ||
require $test_root . '/includes/bootstrap.php'; | ||
|