- 28 3月, 2018 2 次提交
-
-
由 Lukáš Doktor 提交于
The skip_location is suppose to use "skip_location" and not "warn_location". Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
由 Lukáš Doktor 提交于
The built-in regexp requires re.MULTILINE to work the same way as before (allowing the match to be everywhere and not just in the first line). As for the existing ones I believe users would benefit from allowing MULTILINE as well, but there might be slight change in behavior. Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
-
- 22 3月, 2018 2 次提交
-
-
由 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>
-
由 Cleber Rosa 提交于
That is, to fix this pylint condition: W0622:263,0: Exception: Redefining built-in 'Exception' We need to rename the Exception test. To make things consistent, let's rename all of the tests accordingly. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 20 3月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
The latest jobs have been failing because of the following issues: ************* Module raise E1130: 48,30: Raise.test: bad operand type for unary -: NoneType ************* Module selftests.functional.test_basic I1101:1191,24: PluginsXunitTest.run_and_check: Module 'lxml.etree' has not 'XMLSchema' member, but source is unavailable. Consider adding this module to extension-pkg-whitelist if you want to perform analysis based on run-time introspection of living objects. I1101:1191,40: PluginsXunitTest.run_and_check: Module 'lxml.etree' has not 'parse' member, but source is unavailable. Consider adding this module to extension-pkg-whitelist if you want to perform analysis based on run-time introspection of living objects. I1101:1193,43: PluginsXunitTest.run_and_check: Module 'lxml.etree' has not 'parse' member, but source is unavailable. Consider adding this module to extension-pkg-whitelist if you want to perform analysis based on run-time introspection of living objects. ************* Module selftests.unit.test_xunit I1101: 91,24: xUnitSucceedTest.test_add_success: Module 'lxml.etree' has not 'XMLSchema' member, but source is unavailable. Consider adding this module to extension-pkg-whitelist if you want to perform analysis based on run-time introspection of living objects. I1101: 91,40: xUnitSucceedTest.test_add_success: Module 'lxml.etree' has not 'parse' member, but source is unavailable. Consider adding this module to extension-pkg-whitelist if you want to perform analysis based on run-time introspection of living objects. I1101: 92,43: xUnitSucceedTest.test_add_success: Module 'lxml.etree' has not 'parse' member, but source is unavailable. Consider adding this module to extension-pkg-whitelist if you want to perform analysis based on run-time introspection of living objects. We can't whitelist the `lxml.etree` module at this time (inspekt doesn't have such an option) and the raise failure is a false positive. Let's ignore those issues then. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 15 3月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
Under Python 3.4, which runs on our CI and is our lowest supported version, json.loads() requires a string, while newer versions also allows bytes. >>> json.loads(b'{}') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/cleber/.local/lib/python3.4/json/__init__.py", line 312, in loads s.__class__.__name__)) TypeError: the JSON object must be str, not 'bytes' Let's make that code compatible with Python 3.4. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 13 3月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
The items of a dictionary are not ordered by default, and between Python 2 and 3 they always come out different in my experience. Since this test is trying out the representation of a JSON built from dicts, the same applies. Let's make the checks a bit more flexible (and a bit less accurate to be honest) and check for the pieces of info inside the JSON file content. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 08 3月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
The skip() method has been deprecated for quite some time. Let's remove it for good and have users using the decorators and cancel() instead. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 23 2月, 2018 7 次提交
-
-
由 Amador Pahim 提交于
Depending on the number of parameters, generating the Variants can be compute intensive. This patch adds the ability to dump/load the variants to/from a JSON file so the Variants generation can be offloaded from the machine under test. Reference: https://trello.com/c/llZJKBdiSigned-off-by: NAmador Pahim <apahim@redhat.com>
-
由 Cleber Rosa 提交于
The pystache library on Python 3 will generated an HTML file with entity references for the single quote char, instead of the literal char. Let's check for either one of them in the functional test test_basic.RunnerSimpleTest.test_fs_unfriendly_run(). Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
The content on the file is being read as bytes, so let's use byte literals in the comparison. The error message received some adjustments, mainly because it could produce weird stuff text such as "1th" or "2th". To be honest, I'd remove this error message completely, the assertion error is pretty easy to spot IMO. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
This fixes the functional test test_loader.LoaderTestFunctional.test_yaml_loader_run. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Instead of as bytes in assertions, specially because of a part of it is going to be used as a path. This fixes the following issue: ====================================================================== ERROR: test_default_enabled_plugins (test_output.OutputPluginTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cleber/src/avocado/avocado/selftests/functional/test_output.py", line 509, in test_default_enabled_plugins self.check_output_files(debug_log) File "/home/cleber/src/avocado/avocado/selftests/functional/test_output.py", line 286, in check_output_files json_output_path = os.path.join(base_dir, 'results.json') File "/usr/lib64/python3.6/posixpath.py", line 92, in join genericpath._check_arg_types('join', a, *p) File "/usr/lib64/python3.6/genericpath.py", line 151, in _check_arg_types raise TypeError("Can't mix strings and bytes in path components") from None TypeError: Can't mix strings and bytes in path components Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
This fixes the functional test "test_invalid_values" (from test_job_timeout.JobTimeOutTest). Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 22 2月, 2018 5 次提交
-
-
由 Cleber Rosa 提交于
The config file generated and used on this test was missing a separator between the section name and the first key/value line. This adds a new line and makes the resulting file aesthetically pleasing and able to be parsed. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
The "url" and "test" fields are just legacy and duplicated fields that carry the same data as the "id" field. Let's remove those. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 16 2月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
This brings a change in behaviour, in which the stdout/stderr of the executed process will now be of bytes type, instead of a string type. Two new attributes, which are implemented as properties, have been added to the CmdResult class, `stdout_text` and `stderr_text`. Those are convenience methods that will return the same content that is in `stdout` and `stderr`, reespectively, but decoded on the fly[1]. With regards to encoding, if one is not provided, the result of `sys.getdefaultencoding()` will be used ("utf-8" for Python 3 and "ascii" for Python 2). Applications and/or tests using the APIs that return a CmdResult should, to the best of my knowledge, set a default encoding themselves so a stable behavior across Python versions. But that if left to users of this API. A different tradeoff/design decision has to do with the tests modified here. One option is to have "text" (as in sequences of human readable glyphs) as being of Python type "str". On Python 2, "str" can be compared to "bytes" because a conversion will happen on demand. That is, the following is fine on Python 2: >>> result = process.run("command") >>> "expected" in process.stdout Where `expected` is of type "str" and `process.stdout` is of type "bytes". This is not true of Python 3, so either the types must match or a conversion must be done explicitly. The solutions to that are: 1) have these "text" as (of type) "bytes" in the source code itself, and avoid the conversion whenever possible 2) have "strings" in the source code itself, and use the conversion provided by `CmdResult.stdout_text` and `CmdResult.stderr_text`. The approach chosen here is to avoid conversion if possible, that is, use "byte" types, given the fact that the source code encoding is by default 'ascii' and most of the "text" dealt with here can be represented in 'ascii' too. This is equivalent of doing: result = process.run("command") b"expected" in process.stdout "errors: %s" % 0 in process.stderr_text [1] The obvious alternative, instead of decoding these on the fly would be to have multiple copies of the "same" data. This assumes that binary data produced on the stdout/stderr will usually be larger than textual data. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 15 2月, 2018 3 次提交
-
-
由 Cleber Rosa 提交于
Which makes data comparison predictable and stable across Python versions and encodings. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
This is similar to the xunit unittest changes in 353fed04, but now applied to the functional tests which happen to use the same features. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
This is similar to the change in 418bf92a, but now applied to the functional tests that deal with xunit. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 13 2月, 2018 3 次提交
-
-
由 Cleber Rosa 提交于
That's specific to Python 3, but works fine on Python 2. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Which includes the module name, and the different treatment of exceptions that do not inherit from BaseExcpetion. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 12 2月, 2018 2 次提交
-
-
由 Cleber Rosa 提交于
Avocado used to provide support for "test aliases", that is, one could call "avocado run synctest" when the file containing the test was named "synctest.py". See e65ff614 for an example. Since this "feature" has been long removed, let's remove the tests also. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Remove variable assigments that are used just once and never actually used. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 10 2月, 2018 1 次提交
-
-
由 Amador Pahim 提交于
Currently simple tests have a limited status API, being able to set only the WARN status by generating an output string in a very specific and hard-coded format. This patch, while respects the current behaviour, creates configuration keys, allowing users to provide regular expressions to search for in the test outputs, aiming to set the final test status to either WARN or SKIP when the test finishes with exit code 0. Signed-off-by: NAmador Pahim <apahim@redhat.com>
-
- 08 2月, 2018 1 次提交
-
-
由 Cleber Rosa 提交于
Which is an optional plugin, and the test statuses feature is at the innermost core of Avocado. While the original test indeed saved a lot of duplicated code, it's code that serves a specific testing purpose, and it's better to be simpler and more verbose and with the right (no) dependencies. This issue came up during the Python 3 port work. Now that all the unittests (selftests/unit/*) were passing (locally, there's one other PR pending to be accepted), the next logical step is getting the "core" functional (selftests/functional/*) tests passing. Because the 'varianter_yaml_to_mux' optional plugins port is not done, the "core" functional tests fail and the current work flow is broken. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 21 12月, 2017 1 次提交
-
-
由 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>
-
- 16 12月, 2017 1 次提交
-
-
由 Cleber Rosa 提交于
This simple test, after the s390x version, checks the proper parsing of and x86_64 /proc/cpuinfo. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 14 12月, 2017 1 次提交
-
-
由 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>
-
- 12 12月, 2017 1 次提交
-
-
由 Cleber Rosa 提交于
The sysinfo code replicates some of the process handling code already in avocado.utils.process. Let's use our library instead and remove code duplication. This also marks the sysinfo interruption tests as "time and resource sensitive", and will not run on environments such as Travis-CI, in a similar way that other interruption based tests are currently set. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 06 12月, 2017 1 次提交
-
-
由 Cleber Rosa 提交于
This is an attempt to catch most (if not all) usages of open that do not follow the context manager pattern. Sometimes, for better readability, our own `genio` library is used. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
- 30 11月, 2017 4 次提交
-
-
由 Cleber Rosa 提交于
The avocado.utils.process APIs offer the `allow_output_check` parameter which exists at a function call level, and thus should be applied only during the scope of that function. While it's questionable if a test process should be able to skip some of its generated output (by means of an `avocado.utils.process` function parameter), the fact is that the utility libraries offer that at a lower level. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
In commit 4514a8ad, the default value from the command line option `--output-check-record` was being used to set the mode of the `avocado.utils.process` APIs with regards to output record mode. The problem with that is it makes it impossible for the API to distinguish between "no explicit behavior requested" and "explicitly being asked to disable recording". Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
Avocado recently introduced the support to record the combined output generated by a test. Now, this introduces support for checking against a previously record combined output. If an 'output.expected' file exists, it'll take precedence over the `stdout.expected` and `stderr.expected` files. Also it's necessary to switch the default operation mode for the `avocado.utils.process` functions, since to compare with an `output.expected` file, the record mode for the currently running test has to be the same. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-
由 Cleber Rosa 提交于
The same code is run on multiple other tests. It's a waste to run it yet another time by itself. Signed-off-by: NCleber Rosa <crosa@redhat.com>
-