diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 03:01:46 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 03:01:46 +0000 |
commit | f8fe689a81f906d1b91bb3220acde2a4ecb14c5b (patch) | |
tree | 26484e9d7e2c67806c2d1760196ff01aaa858e8c /src/VBox/ValidationKit/testmanager/debug | |
parent | Initial commit. (diff) | |
download | virtualbox-f8fe689a81f906d1b91bb3220acde2a4ecb14c5b.tar.xz virtualbox-f8fe689a81f906d1b91bb3220acde2a4ecb14c5b.zip |
Adding upstream version 6.0.4-dfsg.upstream/6.0.4-dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/ValidationKit/testmanager/debug')
5 files changed, 277 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..6f03da64 --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/Makefile.kmk @@ -0,0 +1,36 @@ +# $Id: Makefile.kmk $ +## @file +# VirtualBox Validation Kit. +# + +# +# Copyright (C) 2006-2019 Oracle Corporation +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# +# The contents of this file may alternatively be used under the terms +# of the Common Development and Distribution License Version 1.0 +# (CDDL) only, as it comes in the "COPYING.CDDL" file of the +# VirtualBox OSE 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. +# + +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..46fe91ad --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/__init__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# $Id: __init__.py $ + +""" +Test Manager - Debug Utilities. +""" + +__copyright__ = \ +""" +Copyright (C) 2012-2019 Oracle Corporation + +This file is part of VirtualBox Open Source Edition (OSE), as +available from http://www.virtualbox.org. This file is free software; +you can redistribute it and/or modify it under the terms of the GNU +General Public License (GPL) as published by the Free Software +Foundation, in version 2 as it comes in the "COPYING" file of the +VirtualBox OSE distribution. VirtualBox OSE is distributed in the +hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + +The contents of this file may alternatively be used under the terms +of the Common Development and Distribution License Version 1.0 +(CDDL) only, as it comes in the "COPYING.CDDL" file of the +VirtualBox OSE 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. +""" +__version__ = "$Revision: 127855 $" + 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..80a7fbf9 --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/add_testbox.pgsql @@ -0,0 +1,66 @@ +-- $Id: add_testbox.pgsql $ +--- @file +-- Test data. +-- + +-- +-- Copyright (C) 2012-2019 Oracle Corporation +-- +-- This file is part of VirtualBox Open Source Edition (OSE), as +-- available from http://www.virtualbox.org. This file is free software; +-- you can redistribute it and/or modify it under the terms of the GNU +-- General Public License (GPL) as published by the Free Software +-- Foundation, in version 2 as it comes in the "COPYING" file of the +-- VirtualBox OSE distribution. VirtualBox OSE is distributed in the +-- hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +-- +-- The contents of this file may alternatively be used under the terms +-- of the Common Development and Distribution License Version 1.0 +-- (CDDL) only, as it comes in the "COPYING.CDDL" file of the +-- VirtualBox OSE 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. +-- + + +\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..c96efd7b --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/cgiprofiling.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# $Id: cgiprofiling.py $ + +""" +Debug - CGI Profiling. +""" + +__copyright__ = \ +""" +Copyright (C) 2012-2019 Oracle Corporation + +This file is part of VirtualBox Open Source Edition (OSE), as +available from http://www.virtualbox.org. This file is free software; +you can redistribute it and/or modify it under the terms of the GNU +General Public License (GPL) as published by the Free Software +Foundation, in version 2 as it comes in the "COPYING" file of the +VirtualBox OSE distribution. VirtualBox OSE is distributed in the +hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + +The contents of this file may alternatively be used under the terms +of the Common Development and Distribution License Version 1.0 +(CDDL) only, as it comes in the "COPYING.CDDL" file of the +VirtualBox OSE 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. +""" +__version__ = "$Revision: 127855 $" + + +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..9dc5e503 --- /dev/null +++ b/src/VBox/ValidationKit/testmanager/debug/functions.pgsql @@ -0,0 +1,72 @@ +-- $Id: functions.pgsql $ +--- @file +-- ????????????????????????? +-- + +-- +-- Copyright (C) 2012-2019 Oracle Corporation +-- +-- This file is part of VirtualBox Open Source Edition (OSE), as +-- available from http://www.virtualbox.org. This file is free software; +-- you can redistribute it and/or modify it under the terms of the GNU +-- General Public License (GPL) as published by the Free Software +-- Foundation, in version 2 as it comes in the "COPYING" file of the +-- VirtualBox OSE distribution. VirtualBox OSE is distributed in the +-- hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +-- +-- The contents of this file may alternatively be used under the terms +-- of the Common Development and Distribution License Version 1.0 +-- (CDDL) only, as it comes in the "COPYING.CDDL" file of the +-- VirtualBox OSE 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. +-- + +\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; + |