Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos
Commits
1daf523b
Commit
1daf523b
authored
Oct 01, 2024
by
Kazuhiko Shiozaki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
component/mariadb: add a test for MariaDB itself.
parent
73ec76fd
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
142 additions
and
0 deletions
+142
-0
component/mariadb/buildout.cfg
component/mariadb/buildout.cfg
+2
-0
component/mariadb/test.cfg
component/mariadb/test.cfg
+11
-0
component/mariadb/test/README.md
component/mariadb/test/README.md
+1
-0
component/mariadb/test/setup.py
component/mariadb/test/setup.py
+48
-0
component/mariadb/test/test.py
component/mariadb/test/test.py
+73
-0
software/slapos-sr-testing/software.cfg
software/slapos-sr-testing/software.cfg
+7
-0
No files found.
component/mariadb/buildout.cfg
View file @
1daf523b
...
...
@@ -38,6 +38,8 @@ mariadb-client-test = mariadb-client-test
pre-configure =
d() { x=$1; shift; [ "`grep -c "$@"`" = $x ]; sed -i "/$1/d" "$2"; }
d 1 '\bSET(PLUGIN_AUTH_PAM YES CACHE BOOL "")' cmake/build_configurations/mysql_release.cmake
${:pre-configure-extra}
pre-configure-extra =
d 5 '^ *\b\(ADD_SUBDIRECTORY(\(mysql-test\|tests\)\|my_safe_process\|${:mariadb-client-test}\)\b' CMakeLists.txt
d 1 '\bINSTALL_MYSQL_TEST\b' cmake/plugin.cmake
configure-command = ${cmake:location}/bin/cmake
...
...
component/mariadb/test.cfg
0 → 100644
View file @
1daf523b
[buildout]
extends =
../../stack/slapos.cfg
buildout.cfg
parts =
mariadb
[mariadb]
shared = false
pre-configure-extra =
component/mariadb/test/README.md
0 → 100644
View file @
1daf523b
Tests for MariaDB
component/mariadb/test/setup.py
0 → 100644
View file @
1daf523b
##############################################################################
#
# Copyright (c) 2024 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation, either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
##############################################################################
from
setuptools
import
setup
,
find_packages
version
=
'0.0.1.dev0'
name
=
'slapos.test.mariadb'
long_description
=
open
(
"README.md"
).
read
()
setup
(
name
=
name
,
version
=
version
,
description
=
"Test for SlapOS' MariaDB"
,
long_description
=
long_description
,
long_description_content_type
=
'text/markdown'
,
maintainer
=
"Nexedi"
,
maintainer_email
=
"info@nexedi.com"
,
url
=
"https://lab.nexedi.com/nexedi/slapos"
,
packages
=
find_packages
(),
install_requires
=
[
'slapos.core'
,
'slapos.libnetworkcache'
,
'erp5.util'
,
],
zip_safe
=
True
,
test_suite
=
'test'
,
)
component/mariadb/test/test.py
0 → 100644
View file @
1daf523b
##############################################################################
#
# Copyright (c) 2024 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation, either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
##############################################################################
import
hashlib
import
os
import
shutil
import
subprocess
import
tempfile
from
slapos.testing.testcase
import
installSoftwareUrlList
,
makeModuleSetUpAndTestCaseClass
software_release_url
=
os
.
path
.
abspath
(
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'..'
,
'test.cfg'
))
setUpModule
,
InstanceTestCase
=
makeModuleSetUpAndTestCaseClass
(
os
.
path
.
abspath
(
software_release_url
))
class
TestMariaDB
(
InstanceTestCase
):
request_instance
=
False
def
test
(
self
):
mariadb_path
=
os
.
path
.
join
(
self
.
slap
.
software_directory
,
hashlib
.
md5
(
self
.
getSoftwareURL
().
encode
()).
hexdigest
(),
'parts'
,
'mariadb'
,
)
with
tempfile
.
TemporaryDirectory
()
as
tmp_dir
:
shutil
.
copytree
(
mariadb_path
,
tmp_dir
,
symlinks
=
True
,
dirs_exist_ok
=
True
,
)
test_dir
=
os
.
path
.
join
(
tmp_dir
,
'mariadb-test'
)
if
not
os
.
path
.
isdir
(
test_dir
):
# BBB MariaDB < 11
test_dir
=
os
.
path
.
join
(
tmp_dir
,
'mysql-test'
)
os
.
chdir
(
test_dir
)
skip_test_list
=
[
'spider'
,
# fail if 'failed to retrieve the MAC address'.
'mysqld--help-aria'
,
# fail if 'failed to retrieve the MAC address'.
'mysqldump-header'
,
# fail with our -DDEFAULT_CHARSET=utf8 build.
'ssl_autoverify'
,
# fail without Net/SSLeay.pm.
]
result
=
subprocess
.
run
(
[
'./mtr'
,
'--parallel=10'
,
'--force'
,
'--max-test-fail=40'
,
'--mem'
,
'--skip-test=(%s)'
%
(
'|'
.
join
(
skip_test_list
))],
capture_output
=
True
,
)
self
.
assertEqual
(
result
.
returncode
,
0
,
result
.
stdout
)
software/slapos-sr-testing/software.cfg
View file @
1daf523b
...
...
@@ -87,6 +87,11 @@ setup = ${slapos-repository:location}/software/jstestnode/test/
egg = slapos.test.kvm
setup = ${slapos-repository:location}/software/kvm/test/
[slapos.test.mariadb-setup]
<= setup-develop-egg
egg = slapos.test.mariadb
setup = ${slapos-repository:location}/component/mariadb/test/
[slapos.test.monitor-setup]
<= setup-develop-egg
egg = slapos.test.monitor
...
...
@@ -387,6 +392,7 @@ eggs +=
${slapos.test.jstestnode-setup:egg}
${slapos.test.jupyter-setup:egg}
${slapos.test.kvm-setup:egg}
${slapos.test.mariadb-setup:egg}
${slapos.test.matomo-setup:egg}
${slapos.test.metabase-setup:egg}
${slapos.test.monitor-setup:egg}
...
...
@@ -480,6 +486,7 @@ tests =
jstestnode ${slapos.test.jstestnode-setup:setup}
jupyter ${slapos.test.jupyter-setup:setup}
kvm ${slapos.test.kvm-setup:setup}
mariadb ${slapos.test.mariadb-setup:setup}
matomo ${slapos.test.matomo-setup:setup}
metabase ${slapos.test.metabase-setup:setup}
monitor ${slapos.test.monitor-setup:setup}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment