From f215e02bf85f68d3a6106c2a1f4f7f063f819064 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 Apr 2024 10:17:27 +0200 Subject: Adding upstream version 7.0.14-dfsg. Signed-off-by: Daniel Baumann --- .../ValidationKit/testmanager/debug/Makefile.kmk | 46 ++++++++++++ .../ValidationKit/testmanager/debug/__init__.py | 40 +++++++++++ .../testmanager/debug/add_testbox.pgsql | 76 ++++++++++++++++++++ .../testmanager/debug/cgiprofiling.py | 83 ++++++++++++++++++++++ .../testmanager/debug/functions.pgsql | 82 +++++++++++++++++++++ 5 files changed, 327 insertions(+) create mode 100644 src/VBox/ValidationKit/testmanager/debug/Makefile.kmk create mode 100644 src/VBox/ValidationKit/testmanager/debug/__init__.py create mode 100644 src/VBox/ValidationKit/testmanager/debug/add_testbox.pgsql create mode 100755 src/VBox/ValidationKit/testmanager/debug/cgiprofiling.py create mode 100644 src/VBox/ValidationKit/testmanager/debug/functions.pgsql (limited to 'src/VBox/ValidationKit/testmanager/debug') 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 . +# +# 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 . + +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 . +-- +-- 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 . + +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('

\n' # Lazy BR-layouting!! + '

Profiler Output

\n' + '
');
+    try:
+        oProfiler.print_stats(sort = sSort);
+    except Exception as oXcpt:
+        print('

%s

\n' % (oXcpt,)); + else: + print('
\n'); + oProfiler = None; + print('
\n'); + + # + # Trick to move the section in under the SQL trace. + # + print('\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 . +-- +-- 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; + -- cgit v1.2.3