aboutsummaryrefslogtreecommitdiffstats
path: root/test/rspamd_test_suite.c
Commit message (Expand)AuthorAgeFilesLines
* [Minor] Fix testsVsevolod Stakhov2018-11-211-2/+3
* [Test] Pass test-case patten into test engineMikhail Galanin2018-09-201-0/+3
* [Test] Added key to run specifig lua-testMikhail Galanin2018-09-191-0/+21
* [Test] Init URL parser before running unit testsMikhail Galanin2018-09-191-0/+1
* [Minor] Benchmark for lua callsMikhail Galanin2018-08-201-1/+2
* [Project] Rework rspamadm and Lua init pathVsevolod Stakhov2018-05-241-1/+1
* [Test] Improve URL unit testsVsevolod Stakhov2018-03-301-1/+1
* [Test] Add tests, fix normalization algorithmVsevolod Stakhov2017-01-081-2/+0
* [Feature] Add mime tool to explore messagesVsevolod Stakhov2016-12-141-2/+4
* [Test] Disable broken testsVsevolod Stakhov2016-04-281-5/+5
* [Feature] Add unit tests for heapVsevolod Stakhov2016-04-081-0/+1
* Store event base in statistics libraryVsevolod Stakhov2016-01-061-1/+1
* Fix testsVsevolod Stakhov2015-11-201-5/+3
* Reorganize includes to reduce namespace pollution.Vsevolod Stakhov2015-10-081-2/+0
* Rename main.h and main.c to `rspamd.X`Vsevolod Stakhov2015-09-221-1/+1
* Add tags to rspamd_mempool.Vsevolod Stakhov2015-08-271-2/+2
* Remove legacy fuzzy code completely.Vsevolod Stakhov2015-07-181-1/+0
* Fix unit test building and starting.Vsevolod Stakhov2015-07-141-0/+2
* Add unit test for cryptobox.Vsevolod Stakhov2015-05-071-0/+2
* Fix tests build.Vsevolod Stakhov2015-04-171-7/+3
* Remove deprecated test.Vsevolod Stakhov2015-03-241-1/+0
* Initialize regexp library.Vsevolod Stakhov2015-03-051-0/+3
* Rework lua tests one more time.Vsevolod Stakhov2015-02-281-19/+16
* Rework lua tests structure, require external busted.Vsevolod Stakhov2015-02-271-1/+5
* Add lua test framework.Vsevolod Stakhov2015-02-271-0/+1
* Add HTTP connections speed test.Vsevolod Stakhov2015-02-041-0/+1
* Add some tests for shingles.Vsevolod Stakhov2014-12-171-0/+1
* Refactor function names.Vsevolod Stakhov2014-11-291-1/+1
* Add a simple upstreams test.Vsevolod Stakhov2014-11-021-0/+1
* Add cleanup.Vsevolod Stakhov2014-09-181-0/+3
* Rework radix tests.Vsevolod Stakhov2014-09-171-2/+0
* Add radix trie test suite.Vsevolod Stakhov2014-09-121-0/+1
* Restore testing framework.Vsevolod Stakhov2014-09-121-8/+5
* Refactor config API.Vsevolod Stakhov2014-04-301-3/+3
* Refactor memory pool naming.Vsevolod Stakhov2014-04-201-2/+2
* Improve test suite by using standard glib test options.Vsevolod Stakhov2013-08-211-19/+3
* Add a test suite for rcl.Vsevolod Stakhov2013-08-091-0/+1
* * Add simple test for rrd.Vsevolod Stakhov2012-12-151-0/+1
* * Write tests for DKIM signature and key parsers.Vsevolod Stakhov2012-05-291-0/+1
* Fixed threading for testing suite.Vsevolod Stakhov2012-03-051-0/+5
* Fix asynchronous IO API.Vsevolod Stakhov2012-03-011-0/+1
* Separate librspamdserver API from plugins and workers functions.Vsevolod Stakhov2012-03-011-2/+8
* * Rework build process:Vsevolod Stakhov2011-05-101-6/+9
* * Make DNS resolver workingVsevolod Stakhov2010-07-081-10/+36
* * New system of classifiers interface and statfiles processingVsevolod Stakhov2009-09-141-0/+2
* * Add counters for rspamd symbolsVsevolod Stakhov2009-05-041-0/+2
* * Add fuzzy hashes implementation (with adler-32 roll hash and FNV-32 hash)Vsevolod Stakhov2009-03-201-0/+1
* * Write functions to operate blocks in stat filesVsevolod Stakhov2008-11-281-0/+1
* * Reorganize structure of source filesVsevolod Stakhov2008-11-011-3/+3
* * Implement expression parser (convertor to inverse polish record)cebka@cebka-laptop2008-10-131-4/+1
0'>backport/48268/stable30 Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
summaryrefslogtreecommitdiffstats
path: root/autotest.cmd
blob: 5f1b1ae3a1d296a76f0e9444254e569a58628422 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
::
:: ownCloud
::
:: @author Thomas Müller
:: @author Tobias Ramforth (translated into Windows batch file)
::
:: @copyright 2012, 2013 Thomas Müller thomas.mueller@tmit.eu
::

set DATADIR=data-autotest
set BASEDIR=%~dp0

:: create autoconfig for sqlite, mysql, postgresql and mssql
echo ^<?php                                      > .\tests\autoconfig-sqlite.php
echo $AUTOCONFIG ^= array ^(                     >> .\tests\autoconfig-sqlite.php
echo  'installed' ^=^> false^,                   >> .\tests\autoconfig-sqlite.php
echo  'dbtype' ^=^> 'sqlite'^,                   >> .\tests\autoconfig-sqlite.php
echo  'dbtableprefix' ^=^> 'oc_'^,               >> .\tests\autoconfig-sqlite.php
echo  'adminlogin' ^=^> 'admin'^,                >> .\tests\autoconfig-sqlite.php
echo  'adminpass' ^=^> 'admin'^,                 >> .\tests\autoconfig-sqlite.php
echo  'directory' ^=^> '%BASEDIR%%DATADIR%'^,    >> .\tests\autoconfig-sqlite.php
echo ^)^;                                        >> .\tests\autoconfig-sqlite.php

echo ^<?php                                      > .\tests\autoconfig-mysql.php
echo $AUTOCONFIG ^= array ^(                     >> .\tests\autoconfig-mysql.php
echo   'installed' ^=^> false^,                  >> .\tests\autoconfig-mysql.php
echo   'dbtype' ^=^> 'mysql'^,                   >> .\tests\autoconfig-mysql.php
echo   'dbtableprefix' ^=^> 'oc_'^,              >> .\tests\autoconfig-mysql.php
echo   'adminlogin' ^=^> 'admin'^,               >> .\tests\autoconfig-mysql.php
echo   'adminpass' ^=^> 'admin'^,                >> .\tests\autoconfig-mysql.php
echo   'directory' ^=^> '%BASEDIR%%DATADIR%'^,   >> .\tests\autoconfig-mysql.php
echo   'dbuser' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-mysql.php
echo   'dbname' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-mysql.php
echo   'dbhost' ^=^> 'localhost'^,               >> .\tests\autoconfig-mysql.php
echo   'dbpass' ^=^> 'owncloud'^,                >> .\tests\autoconfig-mysql.php
echo ^)^;                                        >> .\tests\autoconfig-mysql.php

echo ^<?php                                      > .\tests\autoconfig-pgsql.php
echo $AUTOCONFIG ^= array ^(                     >> .\tests\autoconfig-pgsql.php
echo   'installed' ^=^> false^,                  >> .\tests\autoconfig-pgsql.php
echo   'dbtype' ^=^> 'pgsql'^,                   >> .\tests\autoconfig-pgsql.php
echo   'dbtableprefix' ^=^> 'oc_'^,              >> .\tests\autoconfig-pgsql.php
echo   'adminlogin' ^=^> 'admin'^,               >> .\tests\autoconfig-pgsql.php
echo   'adminpass' ^=^> 'admin'^,                >> .\tests\autoconfig-pgsql.php
echo   'directory' ^=^> '%BASEDIR%%DATADIR%'^,   >> .\tests\autoconfig-pgsql.php
echo   'dbuser' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-pgsql.php
echo   'dbname' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-pgsql.php
echo   'dbhost' ^=^> 'localhost'^,               >> .\tests\autoconfig-pgsql.php
echo   'dbpass' ^=^> 'owncloud'^,                >> .\tests\autoconfig-pgsql.php
echo ^)^;                                        >> .\tests\autoconfig-pgsql.php

echo ^<?php                                      > .\tests\autoconfig-mssql.php
echo $AUTOCONFIG ^= array ^(                     >> .\tests\autoconfig-mssql.php
echo   'installed' ^=^> false^,                  >> .\tests\autoconfig-mssql.php
echo   'dbtype' ^=^> 'mssql'^,                   >> .\tests\autoconfig-mssql.php
echo   'dbtableprefix' ^=^> 'oc_'^,              >> .\tests\autoconfig-mssql.php
echo   'adminlogin' ^=^> 'admin'^,               >> .\tests\autoconfig-mssql.php
echo   'adminpass' ^=^> 'admin'^,                >> .\tests\autoconfig-mssql.php
echo   'directory' ^=^> '%BASEDIR%%DATADIR%'^,   >> .\tests\autoconfig-mssql.php
echo   'dbuser' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-mssql.php
echo   'dbname' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-mssql.php
echo   'dbhost' ^=^> 'localhost\sqlexpress'^,    >> .\tests\autoconfig-mssql.php
echo   'dbpass' ^=^> 'owncloud'^,                >> .\tests\autoconfig-mssql.php
echo ^)^;                                        >> .\tests\autoconfig-mssql.php

echo localhost:5432:*:oc_autotest:owncloud > %APPDATA%\postgresql\pgpass.conf

::
:: start test execution
::
if [%1] == [] (
	echo "Running on all database backends"
	call:execute_tests "sqlite"
	call:execute_tests "mysql"
	call:execute_tests "mssql"
	::call:execute_tests "ora"
	call:execute_tests "pgsql"
) else (
	call:execute_tests "%1"
)

goto:eof

:execute_tests
	echo "Setup environment for %~1 testing ..."
	:: back to root folder
	cd %BASEDIR%

	:: revert changes to tests\data
	git checkout tests\data\*

	:: reset data directory
	rmdir /s /q %DATADIR%
	md %DATADIR%

	:: remove the old config file
	:: del /q /f config\config.php
	copy /y tests\preseed-config.php config\config.php

	:: drop database
	if "%~1" == "mysql" mysql -u oc_autotest -powncloud -e "DROP DATABASE oc_autotest"
	
	if "%~1" == "pgsql" dropdb -h localhost -p 5432 -U oc_autotest -w oc_autotest

	:: we assume a sqlexpress installation
	if "%~1" == "mssql" sqlcmd -S localhost\sqlexpress -U oc_autotest -P owncloud -Q "IF EXISTS (SELECT name FROM sys.databases WHERE name=N'oc_autotest') DROP DATABASE [oc_autotest]"
	
	:: copy autoconfig
	copy /y %BASEDIR%\tests\autoconfig-%~1.php %BASEDIR%\config\autoconfig.php

	:: trigger installation
	php -f index.php

	::test execution
	echo "Testing with %~1 ..."
	cd tests
	rmdir /s /q coverage-html-%~1
	md coverage-html-%~1
	php -f enable_all.php
        :: no external files on windows for now
        cd ..
        php occ app:disable files_external
        cd tests

	call phpunit --bootstrap bootstrap.php --configuration phpunit-autotest.xml --log-junit autotest-results-%~1.xml --coverage-clover autotest-clover-%~1.xml --coverage-html coverage-html-%~1

	echo "Done with testing %~1 ..."
	cd %BASEDIR%
goto:eof

::
:: NOTES on mysql:
::  - CREATE USER 'oc_autotest'@'localhost' IDENTIFIED BY 'owncloud';
::  - grant access permissions: grant all on oc_autotest.* to 'oc_autotest'@'localhost';
::
:: NOTES on pgsql:
::  - su - postgres
::  - createuser -P (enter username and password and enable superuser)
::  - to enable dropdb I decided to add following line to pg_hba.conf (this is not the safest way but I don't care for the testing machine):
:: local	all	all	trust
::
:: NOTES on mssql:
::  we assume the usage of a local installed sqlexpress
::  create a user 'oc_autotest' with password 'owncloud' and assign the server role 'dbcreator'
::  make sure the sqlserver is configured to allow sql authentication
::