diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-11 08:17:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-11 08:17:27 +0000 |
commit | f215e02bf85f68d3a6106c2a1f4f7f063f819064 (patch) | |
tree | 6bb5b92c046312c4e95ac2620b10ddf482d3fa8b /src/VBox/ValidationKit/testmanager/debug | |
parent | Initial commit. (diff) | |
download | virtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.tar.xz virtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.zip |
Adding upstream version 7.0.14-dfsg.upstream/7.0.14-dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/ValidationKit/testmanager/debug')
5 files changed, 327 insertions, 0 deletions
diff --git a/src/VBox/ValidationKit/testmanager/debug/Makefile.kmk b/src/VBox/ValidationKit/testmanager/debug/Makefile.kmk new file mode 100644 index 00000000..74d882cc --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/Makefile.kmk @@ -0,0 +1,46 @@ +# $Id: Makefile.kmk $ +## @file +# VirtualBox Validation Kit. +# + +# +# Copyright (C) 2006-2023 Oracle and/or its affiliates. +# +# This file is part of VirtualBox base platform packages, as +# available from https://www.virtualbox.org. +# +# 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, in version 3 of the +# License. +# +# 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>. +# +# The contents of this file may alternatively be used under the terms +# of the Common Development and Distribution License Version 1.0 +# (CDDL), a copy of it is provided in the "COPYING.CDDL" file included +# in the VirtualBox distribution, in which case the provisions of the +# CDDL are applicable instead of those of the GPL. +# +# You may elect to license modified versions of this file under the +# terms and conditions of either the GPL or the CDDL or both. +# +# SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 +# + +SUB_DEPTH = ../../../../.. +include $(KBUILD_PATH)/subheader.kmk + + +VBOX_VALIDATIONKIT_PYTHON_SOURCES += $(wildcard $(PATH_SUB_CURRENT)/*.py) + +$(evalcall def_vbox_validationkit_process_python_sources) +$(evalcall def_vbox_validationkit_process_js_sources) +include $(FILE_KBUILD_SUB_FOOTER) + diff --git a/src/VBox/ValidationKit/testmanager/debug/__init__.py b/src/VBox/ValidationKit/testmanager/debug/__init__.py new file mode 100644 index 00000000..1a97eacf --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/__init__.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# $Id: __init__.py $ + +""" +Test Manager - Debug Utilities. +""" + +__copyright__ = \ +""" +Copyright (C) 2012-2023 Oracle and/or its affiliates. + +This file is part of VirtualBox base platform packages, as +available from https://www.virtualbox.org. + +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, in version 3 of the +License. + +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>. + +The contents of this file may alternatively be used under the terms +of the Common Development and Distribution License Version 1.0 +(CDDL), a copy of it is provided in the "COPYING.CDDL" file included +in the VirtualBox distribution, in which case the provisions of the +CDDL are applicable instead of those of the GPL. + +You may elect to license modified versions of this file under the +terms and conditions of either the GPL or the CDDL or both. + +SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 +""" +__version__ = "$Revision: 155244 $" + diff --git a/src/VBox/ValidationKit/testmanager/debug/add_testbox.pgsql b/src/VBox/ValidationKit/testmanager/debug/add_testbox.pgsql new file mode 100644 index 00000000..faf303c2 --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/add_testbox.pgsql @@ -0,0 +1,76 @@ +-- $Id: add_testbox.pgsql $ +--- @file +-- Test data. +-- + +-- +-- Copyright (C) 2012-2023 Oracle and/or its affiliates. +-- +-- This file is part of VirtualBox base platform packages, as +-- available from https://www.virtualbox.org. +-- +-- 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, in version 3 of the +-- License. +-- +-- 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>. +-- +-- The contents of this file may alternatively be used under the terms +-- of the Common Development and Distribution License Version 1.0 +-- (CDDL), a copy of it is provided in the "COPYING.CDDL" file included +-- in the VirtualBox distribution, in which case the provisions of the +-- CDDL are applicable instead of those of the GPL. +-- +-- You may elect to license modified versions of this file under the +-- terms and conditions of either the GPL or the CDDL or both. +-- +-- SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 +-- + + +\connect testmanager; + +INSERT INTO users (sUsername, sNickname, sFullName, sLoginName) + VALUES ('testmanager', 'testmanager', 'testmanager', 'testmanager'); + +INSERT INTO testboxes (uidAuthor, + ip, + uuidSystem, + sName, + fEnabled, + sOs, + sOsVersion, + sCpuVendor, + sCpuArch, + cCpus, + fCpuHwVirt, + fCpuNestedPaging, + fCpu64BitGuest, + fChipsetIoMmu, + cMbMemory, + cMbScratch) + + VALUES (1, + '127.0.0.1', + '9394c36a-cb2f-3c7f-b987-9f54a4519bbc', + 'localhost', + TRUE, + 'LINUX', + '1.0', + 'Intel', + 'AMD64', + 2, + TRUE, + TRUE, + TRUE, + TRUE, + 1024, + 1024); + diff --git a/src/VBox/ValidationKit/testmanager/debug/cgiprofiling.py b/src/VBox/ValidationKit/testmanager/debug/cgiprofiling.py new file mode 100755 index 00000000..be049e41 --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/cgiprofiling.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# $Id: cgiprofiling.py $ + +""" +Debug - CGI Profiling. +""" + +__copyright__ = \ +""" +Copyright (C) 2012-2023 Oracle and/or its affiliates. + +This file is part of VirtualBox base platform packages, as +available from https://www.virtualbox.org. + +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, in version 3 of the +License. + +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>. + +The contents of this file may alternatively be used under the terms +of the Common Development and Distribution License Version 1.0 +(CDDL), a copy of it is provided in the "COPYING.CDDL" file included +in the VirtualBox distribution, in which case the provisions of the +CDDL are applicable instead of those of the GPL. + +You may elect to license modified versions of this file under the +terms and conditions of either the GPL or the CDDL or both. + +SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 +""" +__version__ = "$Revision: 155244 $" + + +def profileIt(fnMain, sAppendToElement = 'main', sSort = 'time'): + """ + Profiles a main() type function call (no parameters, returns int) and + outputs a hacky HTML section. + """ + + # + # Execute it. + # + import cProfile; + oProfiler = cProfile.Profile(); + rc = oProfiler.runcall(fnMain); + + # + # Output HTML to stdout (CGI assumption). + # + print('<div id="debug2"><br>\n' # Lazy BR-layouting!! + ' <h2>Profiler Output</h2>\n' + ' <pre>'); + try: + oProfiler.print_stats(sort = sSort); + except Exception as oXcpt: + print('<p><pre>%s</pre></p>\n' % (oXcpt,)); + else: + print('</pre>\n'); + oProfiler = None; + print('</div>\n'); + + # + # Trick to move the section in under the SQL trace. + # + print('<script lang="script/javascript">\n' + 'var oMain = document.getElementById(\'%s\');\n' + 'if (oMain) {\n' + ' oMain.appendChild(document.getElementById(\'debug2\'));\n' + '}\n' + '</script>\n' + % (sAppendToElement, ) ); + + return rc; + diff --git a/src/VBox/ValidationKit/testmanager/debug/functions.pgsql b/src/VBox/ValidationKit/testmanager/debug/functions.pgsql new file mode 100644 index 00000000..00854e91 --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/functions.pgsql @@ -0,0 +1,82 @@ +-- $Id: functions.pgsql $ +--- @file +-- ????????????????????????? +-- + +-- +-- Copyright (C) 2012-2023 Oracle and/or its affiliates. +-- +-- This file is part of VirtualBox base platform packages, as +-- available from https://www.virtualbox.org. +-- +-- 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, in version 3 of the +-- License. +-- +-- 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>. +-- +-- The contents of this file may alternatively be used under the terms +-- of the Common Development and Distribution License Version 1.0 +-- (CDDL), a copy of it is provided in the "COPYING.CDDL" file included +-- in the VirtualBox distribution, in which case the provisions of the +-- CDDL are applicable instead of those of the GPL. +-- +-- You may elect to license modified versions of this file under the +-- terms and conditions of either the GPL or the CDDL or both. +-- +-- SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 +-- + +\connect testmanager; + +DROP FUNCTION authenticate_testbox(inet, uuid); +DROP FUNCTION testbox_status_set(integer, TestBoxState_T); + +-- Authenticate Test Box record by IP and UUID and set its state to IDLE +-- Args: IP, UUID +CREATE OR REPLACE FUNCTION authenticate_testbox(inet, uuid) RETURNS testboxes AS $$ + DECLARE + _ip ALIAS FOR $1; + _uuidSystem ALIAS FOR $2; + _box TestBoxes; + BEGIN + -- Find Test Box record + SELECT * + FROM testboxes + WHERE ip=_ip AND uuidSystem=_uuidSystem INTO _box; + IF FOUND THEN + -- Update Test Box status if exists + UPDATE TestBoxStatuses SET enmState='idle' WHERE idTestBox=_box.idTestBox; + IF NOT FOUND THEN + -- Otherwise, add new record to TestBoxStatuses table + INSERT + INTO TestBoxStatuses(idTestBox, idGenTestBox, enmState) + VALUES (_box.idTestBox, _box.idGenTestBox, 'idle'); + END IF; + END IF; + return _box; + END; +$$ LANGUAGE plpgsql; + +-- Set Test Box status and make sure if it has been set +-- Args: Test Box ID, new status +CREATE OR REPLACE FUNCTION testbox_status_set(integer, TestBoxState_T) RETURNS VOID AS $$ + DECLARE + _box ALIAS FOR $1; + _status ALIAS FOR $2; + BEGIN + -- Update Test Box status if exists + UPDATE TestBoxStatuses SET enmState=_status WHERE idTestBox=_box; + IF NOT FOUND THEN + RAISE EXCEPTION 'Test Box (#%) was not found in database', _box; + END IF; + END; +$$ LANGUAGE plpgsql; + |