mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
Split processing test files into multiple batches
There's two motivations for this: - the existing one was getting massive and took ages to run, which was a pain when developing. Smaller batches allow just a subset of test to be run which is much faster. - There's a random segfault on test exit which occurs on Travis. Rather then disabling these absolutely critical tests altogether, I'm using this as a method of bisecting exactly which alg is causing this.
This commit is contained in:
parent
f085f55276
commit
e2bd17f3c9
@ -13,6 +13,9 @@ IF(ENABLE_TESTS)
|
||||
ADD_PYTHON_TEST(ProcessingToolsTest ToolsTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingGenericAlgorithmsTest AlgorithmsTestBase.py)
|
||||
ADD_PYTHON_TEST(ProcessingQgisAlgorithmsTest QgisAlgorithmsTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingQgisAlgorithmsTestPt2 QgisAlgorithmsTest2.py)
|
||||
ADD_PYTHON_TEST(ProcessingQgisAlgorithmsTestPt3 QgisAlgorithmsTest3.py)
|
||||
ADD_PYTHON_TEST(ProcessingQgisAlgorithmsTestPt4 QgisAlgorithmsTest4.py)
|
||||
ADD_PYTHON_TEST(ProcessingGdalAlgorithmsTest GdalAlgorithmsTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingGrass7AlgorithmsImageryTest Grass7AlgorithmsImageryTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingGrass7AlgorithmsRasterTest Grass7AlgorithmsRasterTest.py)
|
||||
|
69
python/plugins/processing/tests/QgisAlgorithmsTest2.py
Normal file
69
python/plugins/processing/tests/QgisAlgorithmsTest2.py
Normal file
@ -0,0 +1,69 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
***************************************************************************
|
||||
QgisAlgorithmTests2.py
|
||||
---------------------
|
||||
Date : January 2016
|
||||
Copyright : (C) 2016 by Matthias Kuhn
|
||||
Email : matthias@opengis.ch
|
||||
***************************************************************************
|
||||
* *
|
||||
* 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; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************
|
||||
"""
|
||||
|
||||
__author__ = 'Matthias Kuhn'
|
||||
__date__ = 'January 2016'
|
||||
__copyright__ = '(C) 2016, Matthias Kuhn'
|
||||
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
|
||||
__revision__ = ':%H$'
|
||||
|
||||
import AlgorithmsTestBase
|
||||
|
||||
import nose2
|
||||
import shutil
|
||||
import os
|
||||
|
||||
from qgis.core import (QgsApplication,
|
||||
QgsProcessingException)
|
||||
from qgis.analysis import (QgsNativeAlgorithms)
|
||||
from qgis.testing import start_app, unittest
|
||||
from processing.core.ProcessingConfig import ProcessingConfig
|
||||
from processing.modeler.ModelerUtils import ModelerUtils
|
||||
|
||||
|
||||
class TestQgisAlgorithms2(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
start_app()
|
||||
from processing.core.Processing import Processing
|
||||
Processing.initialize()
|
||||
ProcessingConfig.setSettingValue(ModelerUtils.MODELS_FOLDER, os.path.join(os.path.dirname(__file__), 'models'))
|
||||
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms())
|
||||
cls.cleanup_paths = []
|
||||
cls.in_place_layers = {}
|
||||
cls.vector_layer_params = {}
|
||||
cls._original_models_folder = ProcessingConfig.getSetting(ModelerUtils.MODELS_FOLDER)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
from processing.core.Processing import Processing
|
||||
Processing.deinitialize()
|
||||
for path in cls.cleanup_paths:
|
||||
shutil.rmtree(path)
|
||||
ProcessingConfig.setSettingValue(ModelerUtils.MODELS_FOLDER, cls._original_models_folder)
|
||||
|
||||
def test_definition_file(self):
|
||||
return 'qgis_algorithm_tests2.yaml'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
nose2.main()
|
69
python/plugins/processing/tests/QgisAlgorithmsTest3.py
Normal file
69
python/plugins/processing/tests/QgisAlgorithmsTest3.py
Normal file
@ -0,0 +1,69 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
***************************************************************************
|
||||
QgisAlgorithmTests2.py
|
||||
---------------------
|
||||
Date : January 2016
|
||||
Copyright : (C) 2016 by Matthias Kuhn
|
||||
Email : matthias@opengis.ch
|
||||
***************************************************************************
|
||||
* *
|
||||
* 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; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************
|
||||
"""
|
||||
|
||||
__author__ = 'Matthias Kuhn'
|
||||
__date__ = 'January 2016'
|
||||
__copyright__ = '(C) 2016, Matthias Kuhn'
|
||||
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
|
||||
__revision__ = ':%H$'
|
||||
|
||||
import AlgorithmsTestBase
|
||||
|
||||
import nose2
|
||||
import shutil
|
||||
import os
|
||||
|
||||
from qgis.core import (QgsApplication,
|
||||
QgsProcessingException)
|
||||
from qgis.analysis import (QgsNativeAlgorithms)
|
||||
from qgis.testing import start_app, unittest
|
||||
from processing.core.ProcessingConfig import ProcessingConfig
|
||||
from processing.modeler.ModelerUtils import ModelerUtils
|
||||
|
||||
|
||||
class TestQgisAlgorithms3(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
start_app()
|
||||
from processing.core.Processing import Processing
|
||||
Processing.initialize()
|
||||
ProcessingConfig.setSettingValue(ModelerUtils.MODELS_FOLDER, os.path.join(os.path.dirname(__file__), 'models'))
|
||||
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms())
|
||||
cls.cleanup_paths = []
|
||||
cls.in_place_layers = {}
|
||||
cls.vector_layer_params = {}
|
||||
cls._original_models_folder = ProcessingConfig.getSetting(ModelerUtils.MODELS_FOLDER)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
from processing.core.Processing import Processing
|
||||
Processing.deinitialize()
|
||||
for path in cls.cleanup_paths:
|
||||
shutil.rmtree(path)
|
||||
ProcessingConfig.setSettingValue(ModelerUtils.MODELS_FOLDER, cls._original_models_folder)
|
||||
|
||||
def test_definition_file(self):
|
||||
return 'qgis_algorithm_tests3.yaml'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
nose2.main()
|
69
python/plugins/processing/tests/QgisAlgorithmsTest4.py
Normal file
69
python/plugins/processing/tests/QgisAlgorithmsTest4.py
Normal file
@ -0,0 +1,69 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
***************************************************************************
|
||||
QgisAlgorithmTests2.py
|
||||
---------------------
|
||||
Date : January 2016
|
||||
Copyright : (C) 2016 by Matthias Kuhn
|
||||
Email : matthias@opengis.ch
|
||||
***************************************************************************
|
||||
* *
|
||||
* 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; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************
|
||||
"""
|
||||
|
||||
__author__ = 'Matthias Kuhn'
|
||||
__date__ = 'January 2016'
|
||||
__copyright__ = '(C) 2016, Matthias Kuhn'
|
||||
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
|
||||
__revision__ = ':%H$'
|
||||
|
||||
import AlgorithmsTestBase
|
||||
|
||||
import nose2
|
||||
import shutil
|
||||
import os
|
||||
|
||||
from qgis.core import (QgsApplication,
|
||||
QgsProcessingException)
|
||||
from qgis.analysis import (QgsNativeAlgorithms)
|
||||
from qgis.testing import start_app, unittest
|
||||
from processing.core.ProcessingConfig import ProcessingConfig
|
||||
from processing.modeler.ModelerUtils import ModelerUtils
|
||||
|
||||
|
||||
class TestQgisAlgorithms4(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
start_app()
|
||||
from processing.core.Processing import Processing
|
||||
Processing.initialize()
|
||||
ProcessingConfig.setSettingValue(ModelerUtils.MODELS_FOLDER, os.path.join(os.path.dirname(__file__), 'models'))
|
||||
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms())
|
||||
cls.cleanup_paths = []
|
||||
cls.in_place_layers = {}
|
||||
cls.vector_layer_params = {}
|
||||
cls._original_models_folder = ProcessingConfig.getSetting(ModelerUtils.MODELS_FOLDER)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
from processing.core.Processing import Processing
|
||||
Processing.deinitialize()
|
||||
for path in cls.cleanup_paths:
|
||||
shutil.rmtree(path)
|
||||
ProcessingConfig.setSettingValue(ModelerUtils.MODELS_FOLDER, cls._original_models_folder)
|
||||
|
||||
def test_definition_file(self):
|
||||
return 'qgis_algorithm_tests4.yaml'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
nose2.main()
|
File diff suppressed because it is too large
Load Diff
1812
python/plugins/processing/tests/testdata/qgis_algorithm_tests2.yaml
vendored
Executable file
1812
python/plugins/processing/tests/testdata/qgis_algorithm_tests2.yaml
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1880
python/plugins/processing/tests/testdata/qgis_algorithm_tests3.yaml
vendored
Executable file
1880
python/plugins/processing/tests/testdata/qgis_algorithm_tests3.yaml
vendored
Executable file
File diff suppressed because it is too large
Load Diff
2065
python/plugins/processing/tests/testdata/qgis_algorithm_tests4.yaml
vendored
Executable file
2065
python/plugins/processing/tests/testdata/qgis_algorithm_tests4.yaml
vendored
Executable file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user