Travis bump
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
parent
ed31fc3544
commit
b299531e40
|
@ -16,4 +16,4 @@ yarn-error.log*
|
||||||
|
|
||||||
js/
|
js/
|
||||||
build/
|
build/
|
||||||
coverage/
|
coverage*
|
||||||
|
|
121
.travis.yml
121
.travis.yml
|
@ -1,11 +1,116 @@
|
||||||
language: node_js
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
language: php
|
||||||
|
php:
|
||||||
|
- 7.1
|
||||||
|
- 7.2
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- mysql-server-5.6
|
||||||
|
- mysql-client-core-5.6
|
||||||
|
- mysql-client-5.6
|
||||||
|
- php5-pgsql
|
||||||
|
- libxml2-utils
|
||||||
|
|
||||||
|
services:
|
||||||
|
- postgresql
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- CORE_BRANCH=master
|
||||||
|
- TEST_JS=FALSE
|
||||||
|
- PHP_COVERAGE=FALSE
|
||||||
|
matrix:
|
||||||
|
- DB=sqlite
|
||||||
|
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
- /^stable\d+(\.\d+)?$/
|
||||||
|
- /^v\d++(\.\d+)?+(\.\d+)?+(\.\d+)?$/
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- php: 7.1
|
||||||
|
env: "DB=mysql CORE_BRANCH=master"
|
||||||
|
- php: 7.2
|
||||||
|
env: "DB=mysql CORE_BRANCH=master TEST_JS=TRUE PHP_COVERAGE=TRUE"
|
||||||
|
- php: 7.1
|
||||||
|
env: "DB=pgsql CORE_BRANCH=master"
|
||||||
|
- php: 7.2
|
||||||
|
env: "DB=pgsql CORE_BRANCH=master"
|
||||||
|
fast_finish: true
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- node_modules
|
- "$HOME/.composer/cache/files"
|
||||||
node_js:
|
- "$HOME/.npm"
|
||||||
- node
|
|
||||||
|
before_install:
|
||||||
|
- php --info
|
||||||
|
|
||||||
|
# Set up DB
|
||||||
|
- if [[ "$DB" == 'pgsql' ]]; then createuser -U travis -s oc_autotest; fi
|
||||||
|
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e 'create database oc_autotest;'; fi
|
||||||
|
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "CREATE USER 'oc_autotest'@'localhost' IDENTIFIED BY '';"; fi
|
||||||
|
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "GRANT ALL ON oc_autotest.* TO 'oc_autotest'@'localhost';"; fi
|
||||||
|
- cd ..
|
||||||
|
- git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b $CORE_BRANCH core
|
||||||
|
- mv contacts core/apps/
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
# Set up core
|
||||||
|
- php -f core/occ maintenance:install --database-name oc_autotest --database-user oc_autotest --admin-user admin --admin-pass admin --database $DB --database-pass=''
|
||||||
|
|
||||||
|
# Set up app
|
||||||
|
- php -f core/occ app:enable contacts
|
||||||
|
|
||||||
|
# Enable app twice to check occ errors of registered commands
|
||||||
|
- php -f core/occ app:enable contacts
|
||||||
|
- cd core/apps/contacts
|
||||||
|
|
||||||
|
# Run JS tests
|
||||||
|
- npm install -g npm@latest
|
||||||
|
- make dev-setup
|
||||||
|
|
||||||
|
# XDebug is only needed if we report coverage -> speeds up other builds
|
||||||
|
- if [[ "$PHP_COVERAGE" = "FALSE" ]];
|
||||||
|
then phpenv config-rm xdebug.ini;
|
||||||
|
fi
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- npm run build
|
# Check info.xml schema validity
|
||||||
- npm run lint
|
- wget https://apps.nextcloud.com/schema/apps/info.xsd
|
||||||
- npm run stylelint
|
- xmllint appinfo/info.xml --schema info.xsd --noout
|
||||||
- npm run test
|
- rm info.xsd
|
||||||
|
|
||||||
|
# Check PHP syntax errors
|
||||||
|
- find . -name \*.php -not -path './vendor/*' -exec php -l "{}" \;
|
||||||
|
|
||||||
|
# Run server's app code checker
|
||||||
|
- php ../../occ app:check-code contacts
|
||||||
|
|
||||||
|
# Run JS tests
|
||||||
|
- if [[ "$TEST_JS" = "TRUE" ]];
|
||||||
|
then make test;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test JS compilation
|
||||||
|
- make build-js-production
|
||||||
|
|
||||||
|
# Test php
|
||||||
|
- make test-php
|
||||||
|
- if [[ "$PHP_COVERAGE" = "TRUE" ]];
|
||||||
|
then make test-php-coverage;
|
||||||
|
else make test-php;
|
||||||
|
fi
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- if [[ "$PHP_COVERAGE" = "TRUE" ]];
|
||||||
|
then bash <(curl -s https://codecov.io/bash);
|
||||||
|
fi
|
||||||
|
|
||||||
|
after_failure:
|
||||||
|
- cat ../../data/nextcloud.log
|
||||||
|
|
10
Makefile
10
Makefile
|
@ -9,7 +9,7 @@ source_package_name=$(source_build_directory)/$(app_name)
|
||||||
appstore_build_directory=$(CURDIR)/build/artifacts/appstore
|
appstore_build_directory=$(CURDIR)/build/artifacts/appstore
|
||||||
appstore_package_name=$(appstore_build_directory)/$(app_name)
|
appstore_package_name=$(appstore_build_directory)/$(app_name)
|
||||||
|
|
||||||
all: dev-setup lint build-js-production test
|
all: dev-setup lint build-js-production test test-php
|
||||||
|
|
||||||
# Dev env management
|
# Dev env management
|
||||||
dev-setup: clean clean-dev npm-init
|
dev-setup: clean clean-dev npm-init
|
||||||
|
@ -40,6 +40,14 @@ test-watch:
|
||||||
test-coverage:
|
test-coverage:
|
||||||
npm run test:coverage
|
npm run test:coverage
|
||||||
|
|
||||||
|
test-php:
|
||||||
|
phpunit -c phpunit.xml
|
||||||
|
phpunit -c phpunit.integration.xml
|
||||||
|
|
||||||
|
test-php-coverage:
|
||||||
|
phpunit -c phpunit.xml --coverage-clover=coverage-unit.xml
|
||||||
|
phpunit -c phpunit.integration.xml --coverage-clover=coverage-integration.xml
|
||||||
|
|
||||||
# Linting
|
# Linting
|
||||||
lint:
|
lint:
|
||||||
npm run lint
|
npm run lint
|
||||||
|
|
|
@ -1,7 +1,22 @@
|
||||||
<phpunit bootstrap="tests/bootstrap.php" colors="true">
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<testsuites>
|
<phpunit bootstrap="tests/bootstrap.php"
|
||||||
<testsuite name="integration">
|
verbose="true"
|
||||||
<directory>./tests/integration</directory>
|
colors="true"
|
||||||
</testsuite>
|
timeoutForSmallTests="900"
|
||||||
</testsuites>
|
timeoutForMediumTests="900"
|
||||||
</phpunit>
|
timeoutForLargeTests="900">
|
||||||
|
<testsuite name='Contacts app integration tests'>
|
||||||
|
<directory>./tests/integration</directory>
|
||||||
|
</testsuite>
|
||||||
|
<!-- filters for code coverage -->
|
||||||
|
<filter>
|
||||||
|
<whitelist>
|
||||||
|
<directory suffix=".php">./</directory>
|
||||||
|
<exclude>
|
||||||
|
<directory suffix=".php">./l10n</directory>
|
||||||
|
<directory suffix=".php">./templates</directory>
|
||||||
|
<directory suffix=".php">./tests</directory>
|
||||||
|
</exclude>
|
||||||
|
</whitelist>
|
||||||
|
</filter>
|
||||||
|
</phpunit>
|
29
phpunit.xml
29
phpunit.xml
|
@ -1,7 +1,22 @@
|
||||||
<phpunit bootstrap="tests/bootstrap.php" colors="true">
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<testsuites>
|
<phpunit bootstrap="tests/bootstrap.php"
|
||||||
<testsuite name="unit">
|
verbose="true"
|
||||||
<directory>./tests/unit</directory>
|
colors="true"
|
||||||
</testsuite>
|
timeoutForSmallTests="900"
|
||||||
</testsuites>
|
timeoutForMediumTests="900"
|
||||||
</phpunit>
|
timeoutForLargeTests="900">
|
||||||
|
<testsuite name='Contacts app tests'>
|
||||||
|
<directory>./tests/unit</directory>
|
||||||
|
</testsuite>
|
||||||
|
<!-- filters for code coverage -->
|
||||||
|
<filter>
|
||||||
|
<whitelist>
|
||||||
|
<directory suffix=".php">./</directory>
|
||||||
|
<exclude>
|
||||||
|
<directory suffix=".php">./l10n</directory>
|
||||||
|
<directory suffix=".php">./templates</directory>
|
||||||
|
<directory suffix=".php">./tests</directory>
|
||||||
|
</exclude>
|
||||||
|
</whitelist>
|
||||||
|
</filter>
|
||||||
|
</phpunit>
|
|
@ -11,12 +11,11 @@
|
||||||
|
|
||||||
namespace OCA\Contacts\Controller;
|
namespace OCA\Contacts\Controller;
|
||||||
|
|
||||||
use PHPUnit_Framework_TestCase;
|
|
||||||
|
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
|
use PHPUnit\Framework\TestCase as Base;
|
||||||
|
|
||||||
|
|
||||||
class PageControllerTest extends PHPUnit_Framework_TestCase {
|
class PageControllerTest extends Base {
|
||||||
|
|
||||||
private $controller;
|
private $controller;
|
||||||
private $userId = 'john';
|
private $userId = 'john';
|
||||||
|
@ -35,14 +34,7 @@ class PageControllerTest extends PHPUnit_Framework_TestCase {
|
||||||
|
|
||||||
$this->assertEquals(['user' => 'john'], $result->getParams());
|
$this->assertEquals(['user' => 'john'], $result->getParams());
|
||||||
$this->assertEquals('main', $result->getTemplateName());
|
$this->assertEquals('main', $result->getTemplateName());
|
||||||
|
$this->assertEquals('user', $result->getRenderAs());
|
||||||
$this->assertTrue($result instanceof TemplateResponse);
|
$this->assertTrue($result instanceof TemplateResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function testEcho() {
|
|
||||||
$result = $this->controller->doEcho('hi');
|
|
||||||
$this->assertEquals(['echo' => 'hi'], $result->getData());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue