From 9c9ca280ea4e65d84d3640a4f894152f25e56d24 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 16 Feb 2021 08:48:28 +0100 Subject: [PATCH] Debugger: Add some manual test to check console interaction Change-Id: I02a87657f5be1c4ba8ab8921d0d015a8f34df0af Reviewed-by: David Schulz --- tests/manual/debugger/console/console.pro | 5 ++ tests/manual/debugger/console/main.cpp | 60 +++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 tests/manual/debugger/console/console.pro create mode 100644 tests/manual/debugger/console/main.cpp diff --git a/tests/manual/debugger/console/console.pro b/tests/manual/debugger/console/console.pro new file mode 100644 index 00000000000..e6389b5f919 --- /dev/null +++ b/tests/manual/debugger/console/console.pro @@ -0,0 +1,5 @@ + +TEMPLATE = app +TARGET = console + +SOURCES += main.cpp diff --git a/tests/manual/debugger/console/main.cpp b/tests/manual/debugger/console/main.cpp new file mode 100644 index 00000000000..8a7143459b5 --- /dev/null +++ b/tests/manual/debugger/console/main.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +#include +#include +#include +#include + +#include + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + + // Checks for "Run as root" + QProcess proc; + proc.start("id", QStringList()); + proc.waitForFinished(); + qDebug() << proc.readAllStandardOutput(); + + // Checks terminal input + std::cout << "Enter some random data to check terminal input:" << std::endl; + std::string res; + std::getline(std::cin, res); + + // Check for interruptability + std::cout << "Press Ctrl-C or the interrupt button in the debugger.\n"; + while (true) { + ++argc; + ++argc; + std::cerr << argc << std::endl; + QThread::sleep(1); + ++argc; + ++argc; + } + + return 0; +}