Sharing progress on python 3 work.
## 2 weeks ago
git checkout @{two.weeks.ago}
tox -e storage-py37
...
1448 passed, 103 skipped, 100 deselected, 322 xfailed, 236 warnings in
71.40 seconds
## Today
git checkout
tox -e storage-py37
...
1643 passed, 103 skipped, 100 deselected, 105 xfailed, 82 xpassed, 107
warnings in 79.72 seconds
Change:
*passed: +195*
*skips: 0*
*xfail: -217*
*xpass: +107*
*warnings: -129*
## XPASS
107 xpass are most likely easy fix, just remove the xfail() mark from the
test or parameter.
Patches should not introduce new XPASS, you should remove all xfail() marks
that a patch
fixes. To test that your patch do not introduce new XPASS, add this option
to tox.ini:
[pytest]
xfail_strict = True
This converts XPASS to FAIL.
These modules need to be fixed:
$ egrep '^storage.+_test.py.+X' storage-py37.out
storage/filevolume_test.py ...XXXxXXXXxXXX [
19%]
storage/formatconverter_test.py XXXXXxxss [
20%]
storage/merge_test.py XXXXXXxxxxXXxXxxxxxXxxxxxx [
38%]
storage/nbd_test.py ssssssssssssX. [
49%]
storage/sd_manifest_test.py XXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxx............ [
65%]
storage/sdm_amend_volume_test.py xXxXxXxX [
66%]
storage/sdm_copy_data_test.py xXXxxxxXXXXXxxxXXXxxXXxxXXx [
67%]
storage/sdm_merge_test.py xxxxXXX [
79%]
storage/sdm_update_volume_test.py xXxXxxXXxxXXxXxXxXxX....... [
81%]
storage/testlib_test.py xXXXxxXXXXXXXXxxxxxxxxxxxxxXxXxXxX.......... [
87%]
storage/volume_metadata_test.py ..........................X............. [
90%]
## xfail
We must fix these xfail before we can run OST. If we start running OST
we will waste days debugging OST. Debugging failing tests is 1000X times
faster.
$ egrep '^storage.+_test.py.+x' storage-py37.out
storage/blocksd_test.py ........x..........sssssssssss............ [
4%]
storage/blockvolume_test.py ...........xxxxxxxxx [
5%]
storage/fileutil_test.py ..xx....ss............................ [
19%]
storage/filevolume_test.py ...XXXxXXXXxXXX [
19%]
storage/formatconverter_test.py XXXXXxxss [
20%]
storage/merge_test.py XXXXXXxxxxXXxXxxxxxXxxxxxx [
38%]
storage/sd_manifest_test.py XXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxx............ [
65%]
storage/sdm_amend_volume_test.py xXxXxXxX [
66%]
storage/sdm_copy_data_test.py xXXxxxxXXXXXxxxXXXxxXXxxXXx [
67%]
storage/sdm_merge_test.py xxxxXXX [
79%]
storage/sdm_update_volume_test.py xXxXxxXXxxXXxXxXxXxX....... [
81%]
storage/testlib_test.py xXXXxxXXXXXXXXxxxxxxxxxxxxxXxXxXxX.......... [
87%]
## Skips
Skips should be used only when test cannot run on specific environment,
but I think we have some wrong skips that should have been xfail.
$ egrep '^storage.+_test.py.+s' storage-py37.out
storage/backends_test.py ss [
2%]
storage/blockdev_test.py ssss....s [
2%]
storage/blocksd_test.py ........x..........sssssssssss............ [
4%]
storage/devicemapper_test.py s. [
9%]
storage/fileutil_test.py ..xx....ss............................ [
19%]
storage/formatconverter_test.py XXXXXxxss [
20%]
storage/loopback_test.py ssss [
31%]
storage/lvm_test.py ....................ssssssssssssssssssss [
33%]
storage/lvmfilter_test.py .....ss.......... [
35%]
storage/managedvolume_test.py ssssssssssssssssss.... [
36%]
storage/misc_test.py .................sssssssss...............ssss...... [
41%]
storage/mount_test.py .........ss........ssssss [
47%]
storage/nbd_test.py ssssssssssssX. [
49%]
storage/udev_multipath_test.py .......................s [
88%]
## Warnings
See "warnings summary" in pytest output.
Looks less useful, report issues in packages we use instead of issues in
our code.
But this may be an issue using old versions of packages.
See attached results created with:
tox -e storage-py37 > storage-py37.out 2>&1
Nir