diff options
| author | Christian Tismer <tismer@stackless.com> | 2021-07-22 11:49:25 +0200 |
|---|---|---|
| committer | Christian Tismer <tismer@stackless.com> | 2021-07-28 18:41:46 +0200 |
| commit | 45a8fafb9c445ebcdea125b0c20cd14dc42784d1 (patch) | |
| tree | 386c41e804e557789d8e0c3b8c6c4ab8f86c3d9c /sources/pyside6/tests | |
| parent | 9b5fa60d1fed5025e97c393ba1bab80f81ba833a (diff) | |
Remove signature loader completely from physical FS
This proposal was discussed.
It was also tested with Nuitka and cx_freeze.
[ChangeLog][shiboken6] Python support files are now always
embedded. There is no longer a physical copy installed in the FS.
Reasoning is: We always had the signature module in real
Python files and also as an embedded ZIP file.
With the solution to PYSIDE-1621 we suddenly had a way
to avoid accessing the file system completely. The
remaining question is: Why should we keep the files in
the installation at all?
Long time ago, it was said that the source files were
needed to see tracebacks. But tracebacks are visible the
same way, regardless if the files exist as physical files
or only in memory. The error messages will be as verbose
as always.
Personally, I see it more as a drawback, because parts of
our application become vulnerable by external manipulation.
By the complete virtualization, the system is as
self-contained as a binary executable.
Task-number: PYSIDE-1621
Change-Id: I821545fb5d52465b69bb2c172bdfb43894ac2109
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside6/tests')
| -rw-r--r-- | sources/pyside6/tests/pysidetest/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | sources/pyside6/tests/pysidetest/embedding_test.py | 80 |
2 files changed, 0 insertions, 81 deletions
diff --git a/sources/pyside6/tests/pysidetest/CMakeLists.txt b/sources/pyside6/tests/pysidetest/CMakeLists.txt index 7717fc8c6..d63326eb9 100644 --- a/sources/pyside6/tests/pysidetest/CMakeLists.txt +++ b/sources/pyside6/tests/pysidetest/CMakeLists.txt @@ -136,7 +136,6 @@ PYSIDE_TEST(decoratedslot_test.py) PYSIDE_TEST(delegatecreateseditor_test.py) PYSIDE_TEST(all_modules_load_test.py) PYSIDE_TEST(bug_1016.py) -PYSIDE_TEST(embedding_test.py) PYSIDE_TEST(enum_test.py) PYSIDE_TEST(homonymoussignalandmethod_test.py) PYSIDE_TEST(iterable_test.py) diff --git a/sources/pyside6/tests/pysidetest/embedding_test.py b/sources/pyside6/tests/pysidetest/embedding_test.py deleted file mode 100644 index 074edff1b..000000000 --- a/sources/pyside6/tests/pysidetest/embedding_test.py +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of PySide6. -## -## $QT_BEGIN_LICENSE:LGPL$ -## 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 Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## 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-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -import os -import sys -import unittest - -from pathlib import Path -sys.path.append(os.fspath(Path(__file__).resolve().parents[1])) -from init_paths import init_test_paths -init_test_paths(False) - -# This test tests the embedding feature of PySide. -# Normally, embedding is only used when necessary. -# By setting the variable "pyside_uses_embedding", -# we enforce usage of embedding. - - -class EmbeddingTest(unittest.TestCase): - - # def test_pyside_normal(self): - # import sys - # self.assertFalse(hasattr(sys, "pyside_uses_embedding")) - # import PySide6 - # # everything has to be imported - # self.assertTrue("PySide6.support.signature" in sys.modules) - # # there should be a variale in sys, now (no idea if set) - # self.assertTrue(hasattr(sys, "pyside_uses_embedding")) - - # Unfortunately, I see no way how to shut things enough down - # to trigger a second initiatization. Therefore, only one test :-/ - def test_pyside_embedding(self): - import sys - self.assertFalse(hasattr(sys, "pyside_uses_embedding")) - sys.pyside_uses_embedding = "anything true" - import PySide6 - # everything has to be imported - self.assertTrue("PySide6.support.signature" in sys.modules) - self.assertEqual(sys.pyside_uses_embedding, True) - # We no longer use a physical zip file. - - -if __name__ == '__main__': - unittest.main() |
