- 22 9月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
The changes in this commit are causing intermittent failures in our CI environment under Python 3.x. This reverts commit 55f420f7. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 18 9月, 2018 3 次提交
-
-
由 Lukáš Doktor 提交于
This commit makes sure all inputs in yaml2mux plugin are decoded and passed as unicodes to variants. As a consequence this allows to actually use this plugin on python3 environment. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
由 Lukáš Doktor 提交于
For computers this does not really matters, but for people the use of '\n' make debugging slightly easier. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
由 Lukáš Doktor 提交于
This replaces the naive "str()" approach of turning objects into strings with proper "astring.to_text" alternative that should take care of the proper encoding and works well on py2 as well as py3. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 24 8月, 2018 1 次提交
-
-
由 Caio Carrara 提交于
This change enables loads of pylint checks that do not require big code changes. Signed-off-by: NCaio Carrara <ccarrara@redhat.com>
-
- 24 3月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
The following two issues come up on the CI environment: ************* Module avocado_runner_remote W0622: 51,0: ConnectionError: Redefining built-in 'ConnectionError' ************* Module tests.test_mux W0622:130,8: TestMuxTree.test_basic_functions: Redefining built-in 'ascii' And are fixed here. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 22 3月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
These warnings are described as: W0612: Used when a variable is defined but not used. W0622: Used when a variable or function override a built-in. After a suggestion from Andrei Stepanov, we decided to immediately enable these. Rerefence: https://pagure.io/standard-test-roles/pull-request/144 Reference: https://trello.com/c/Ohh7Q6qj/1183-enable-w-in-travis-make-checkSigned-off-by: NCleber Rosa <crosa@redhat.com>
-
- 13 3月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
In Python 3, the order of a dictionary items will be different than under Python 2. To not have to change the supporting code to return OrderedDicts, let's just simplify the comparison, breaking them down into each dictionary item. This fixes the varianter_yaml_to_mux plugin unittest failure under Python 3: ====================================================================== FAIL: test_fingerprint_order (tests.test_mux.TestMuxTree) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cleber/src/avocado/avocado/optional_plugins/varianter_yaml_to_mux/tests/test_mux.py", line 231, in test_fingerprint_order self.assertEqual(str(variant1), "{'paths': '', 'variant': " AssertionError: "{'variant_id': 'child1-child2-9154', 'varia[65 chars] ''}" != "{'paths': '', 'variant': [TreeNode(name='ch[65 chars]54'}" - {'variant_id': 'child1-child2-9154', 'variant': [TreeNode(name='child1'), TreeNode(name='child2')], 'paths': ''} + {'paths': '', 'variant': [TreeNode(name='child1'), TreeNode(name='child2')], 'variant_id': 'child1-child2-9154'} Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 26 2月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
The current code style creates and appends an object into the list, and then later implicitly references that item using the `[-1]` notation, changing its filter. While correct, IMO, it's easier to follow code that creates the object, sets its values, and then appends it to the list. This was a style only change that appeared while debugging another mux related issue. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 23 2月, 2018 2 次提交
-
-
由 Cleber Rosa 提交于
And not bytes. What happens here is that `avocado.core.tree.tree_view()` will return either bytes with 'utf-8' or 'ascii' depending on the given parameter. On Python 2, it's fine to compare the result with strings. On Python 3, we have to get a string from the bytes returned, that is, we need to decode the bytes. While at it, let's fix a typo (s/asci/ascii). Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Because it doesn't provide an items() method, on which six.iteritems relies when running on Python 3. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 16 2月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
Which adds the namespace of the function that created the class. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 21 12月, 2017 3 次提交
-
-
由 Cleber Rosa 提交于
These classes and methods have knowledge about the YAML files, and the YAML to Mux plugin is the only user of those. this plugin. So it makes sense to move it to the plugin module. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
And drop the notion of a "multiplex capable" Avocado. If the plugin is installed, then we assume the dependencies have been fulfilled. The plugin presence is used then for the creation of the test suite, including the plugin's own tests. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
This drops the notion of a "multiplex capable" Avocado. If the plugin is installed, then we assume the dependencies have been fulfilled. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 14 12月, 2017 2 次提交
-
-
由 Cleber Rosa 提交于
The AvocadoParams, as a database of test parameters, has no need to know information about the test. In fact, the test id parameter has never had any real use so far. Let's remove it. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
A lot of the core Avocado code still refers to "mux" based terminology. For instance, what was previously "mux_path" is now "parameter paths", and what was previously "mux" is now really variants. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 01 12月, 2017 2 次提交
-
-
由 Cleber Rosa 提交于
The default parameters mechanism proved to be confusing, overlapping and thus was scheduled to be removed. This implements the removal of the default_params API. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Our goal to completely separate the basic parameter interface and the varianter pass through here: splitting these modules into their reespective ones. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 29 11月, 2017 1 次提交
-
-
由 Cleber Rosa 提交于
There was once an idea that the "mux" would be an interface that would be reused by other implementations (say, json_to_mux, foo_to_mux, etc). Now, it seems much more important to make the Avocado varianter design and interfaces better, and advocate its use instead. Additionally, there has always been a gray line between the Multiplexer and the Avocado params. Moving the mux outside of the Avocado core will help to draw clearer lines. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 13 10月, 2017 1 次提交
-
-
由 Cleber Rosa 提交于
Instead of the iterator next method. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 11 10月, 2017 1 次提交
-
-
由 Cleber Rosa 提交于
This changes uses the six compatibility equivalents for iterkeys, iteritems and itervalues. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 15 9月, 2017 2 次提交
-
-
由 Lukáš Doktor 提交于
Don't create nodes directly, but first attempt to use OrderedDict. If advanced features (tags, ...) are detected, declare the current mapping TreeNode and follow as before. In the end create mapping which should turn the directly connected OrderedDicts into TreeNodes while keep the hidden user dicts as OrderedDicts. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
由 Lukáš Doktor 提交于
The basedir was mainly set correctly, but sometimes not used in some of the tests. Let's move the `os.chdir` to `setUp` phase where it makes sense and add new ones where they were not present. Related to basedir the test_mux was using hardcoded path based on the method used to execute the test, let's change it to `__file__` which gives better results. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 15 6月, 2017 1 次提交
-
-
由 Lukáš Doktor 提交于
The examples/mux-* yaml files are intended for use in selftests, but they lived for a long time directly in examples. Let's move them to proper place to avoid unnecessary confusion to newcomers. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 30 5月, 2017 1 次提交
-
-
由 Lukáš Doktor 提交于
Currently the yaml_to_mux plugin is a core plugin without properly defined requirements. Let's separate it to optional_plugins, define dependencies and also build it separately in RPM. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 24 4月, 2017 1 次提交
-
-
由 Lukáš Doktor 提交于
Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 12 4月, 2017 2 次提交
-
-
由 Lukáš Doktor 提交于
Use the combination of path-ordered leaves names and a hash of combined fingerprint as variant_id. This should improve human-readability of the results and also it should produce machine-friendly unique names, which change when values in variant are modified. Because the leaves names are ordered by path, the order of yaml file does not affect the variant_id. On the other hand any modified/added value changes the fingerprint and therefor variant_id. Important feature is also that the variant still contains the default_params, but the variant-id is not affected by it. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
由 Lukáš Doktor 提交于
The TreeNode.fingerprint() generates string, which represents the value of the node. The idea is to represent the content of the node and it's environment and such for the purpose of evaluating, whether other node is alike. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 31 3月, 2017 1 次提交
-
-
由 Lukáš Doktor 提交于
This adds the support to define per-node filters, which take part of environment and are evaluated during multiplexation. The basic idea is to define relations ({could be only used | could not be used} with other branch), which makes it a bit different from what we know from `--mux-filter-{only|out}`: 1. They are applied per complete variant (because the filters are compound of per-leaf-filters) 2. They don't remove/keep the nodes, but they only evaluate whether this resulting variant makes sense (whether it passes the filters) See the updated documentation for details. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 04 3月, 2017 1 次提交
-
-
由 Lukáš Doktor 提交于
This patch replaces the hardcoded mux in Varianter for list of Varianter plugins, iterating through all of them to produce all specified variants. The interface is described in `avocado.core.plugin_interfaces` and we also provide base-implementation for Mux-like plugins in `avocado.core.mux`. Mainly this PR is about defining the stevedore entry points, moving the code around and wrapping the code into a class according the defined stevedore interface. Doing so allowed us to simplify the `MuxTree` object which does not need to keep track of the `root` of the tree, because the root is stored in the pluggin's instance. There is still one potential issue in Varianter which is probably even more visible now, which is that we are pickling it in jobdata in order to be able to reproduce the variants when re-running/diffing the job. Before this was prone to code-changes but now it can be even worse as multiple plugins can be enabled and can break loading of the previous state. To avoid the potential breakage this version simply initializes only the available extensions which should produce only the supported variants. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 16 2月, 2017 1 次提交
-
-
由 Lukáš Doktor 提交于
Previously we were directly using the yaml.Loader, which is shared across all `yaml` instances. This patch creates a `_BaseLoader` with the basic set of constructors. That one is copied and updated of the run-time data (debug/non-debug) during the `_create_from_yaml` to allow loading debug and non-debug files in a single execution without overriding the same loader. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 06 2月, 2017 1 次提交
-
-
由 Cleber Rosa 提交于
The unittest standard library on Python 2.7 an later has everything that the unittest2 backport is supposed to have. Let's then drop all the conditional imports of unittest2 and stick with unittest. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 03 1月, 2017 3 次提交
-
-
由 Lukáš Doktor 提交于
The filtering is not useful for basic params, let's move it to mux and while on it also remove the avocado arguments (options) to the yaml_to_mux plugin. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
由 Lukáš Doktor 提交于
The `avocado.core.tree` contains multiplex/mux-related features like multiplex and ctrl, which are not really useful for basic params. Let's simplify the base tree object and put the extracted features in `avocado.core.mux`. This is a first step and the `avocado.core.mux` should contain most of the generic parts useful for creating varianter plugins. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
由 Lukáš Doktor 提交于
The concept of multiplexer is about to be split into an abstract API for variants generation, multiplexer which will be in-core implementation of one of the variants generation plugins and yaml_to_mux plugin which uses this multiplexer implementation to create variants from a yaml file. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 05 10月, 2016 1 次提交
-
-
由 Lukáš Doktor 提交于
This complex patch replaces the custom `--multiplex` handling with a brand new plugin called `yaml_to_mux`. This touches several place and removes the `yaml` functionality from the avocado core and moves it into the plugin code. There are still 2 references from plugins to the `yaml_to_mux` plugin which are not defined as a public API yet. 1. remote runner - which allows copying --multiplex files to remote machine. 2. replay - which allows overriding of the job's mux variants with the --multiplex files. Note that by doing this you lose the system-wide options. It is described in the warning message. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 23 7月, 2016 1 次提交
-
-
由 Cleber Rosa 提交于
When the support for Test IDs was introduced, support for string based test names and tags was kept in deprecated mode, scheduled to be removed on an upcoming release. This planned upcoming release for removal has already passed, so let's remove them now. Reference: https://trello.com/c/QqZmfkYtSigned-off-by: NCleber Rosa <crosa@redhat.com>
-
- 14 6月, 2016 1 次提交
-
-
由 Lukáš Doktor 提交于
When unhashable argument is passed to the `params.get`, it crashes while trying to obtain value from cache. This patch fallbacks to new query on such exception. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 24 2月, 2016 1 次提交
-
-
由 Cleber Rosa 提交于
The tree/multiplex modules have clear conditionals when the system is not multiplex capable, namely because of the lack of YAML libraries. Let's reflect that on their tests. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-