Skip to content

markjivko/wordpress-code-review

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WordPress Code Review

Generate Quality Assurance tests for public WordPress plugins and store them as static HTML pages.

Install procedure

Install the required packages (LAMP stack & PHPMyAdmin)

sudo apt-get install -y apache2 mysql-server php7.4 php-sqlite3 curl phpmyadmin chromium-browser wpcloc pngquant subversion

Store the phpmyadmin password in "./app/config/config.ini"/

Install chrome and chromedriver

sudo apt-get install unzip && a=$(uname -m) && rm -r /tmp/chromedriver/
mkdir /tmp/chromedriver/ &&
wget -O /tmp/chromedriver/LATEST_RELEASE http://chromedriver.storage.googleapis.com/LATEST_RELEASE &&
if [ $a == i686 ]; then b=32; elif [ $a == x86_64 ]; then b=64; fi &&
latest=$(cat /tmp/chromedriver/LATEST_RELEASE) &&
wget -O /tmp/chromedriver/chromedriver.zip 'http://chromedriver.storage.googleapis.com/'$latest'/chromedriver_linux'$b'.zip' &&
sudo unzip /tmp/chromedriver/chromedriver.zip chromedriver -d /usr/local/bin/

Store your user and group by running the following commands as yourself (not root) from inside the project folder (same level as run.php)

sed -i -E "s/\buser\s*=\s*.*$/user = \"$(whoami)\"/" "./app/config/config.ini"

sed -i -E "s/\bgroup\s*=\s*.*$/group = \"$(id -g -n)\"/" "./app/config/config.ini"

Run the installer as root

sudo php -f run.php install

You can now use wp commands which support chaining (wp first && wp second)

Common commands

Plugins:

  • Remove all plugins: wp plugin purge
  • Install a plugin: wp plugin install {plugin-slug}
  • Uninstall a plugin: wp plugin uninstall {plugin-slug}
  • Activate a plugin: wp plugin activate {plugin-slug}
  • Deactivate a plugin: wp plugin deactivate {plugin-slug}

Tests:

  • Run test suites on a plugin: wp test run {plugin-slug}
  • Render all assets and listings: wp render
  • Purge all references: wp render run purge

Batch:

  • Test newly added plugins: wp batch new [{limit}]
  • Test updated plugins: wp batch updates [{limit}]
  • Re-test local plugins: wp batch local [{limit}]