Thanks Ken,

On Jun 1 2019, at 4:45 pm, Kenneth Loafman <[email protected]> wrote:
> Launchpad runs tests when building the package. It will fail if something is 
> wrong.

Sure, and that is really helpful, but that is only at/post release time, rather 
than on merge to trunk.
>
> I am working on a dev PPA for 0.8.xx but I'm having some issues. Missing 
> packages for one. Having to understand unclear errors is the main one.
Presumably to do with the Python 3 enablement, rather than anything to do with 
the actual 0.8 changes? I was tracking some of the backends that seemed 
problematic for us with Python 3 in the first paragraph of:
https://blueprints.launchpad.net/duplicity/+spec/python3
please feel free to update there/add bugs for anything that is not working if 
you want help.

I would not be averse to just cutting off non-python3 backends behind a "Sorry, 
this does not yet work on Python 3" error. It obviously does not solve the 
problem, but would let us get python3-compatible debs out the door (which is 
pretty vital with distros busy kicking out anything non-python3 in advance of 
the python2 EOL) and then work on updating the backends after that -- it may 
also encourage contributions from those who actually use those backends.
> We can add the Snap package to the PPA if that helps.
I agree that, in the medium and long term, we should replace the PPAs with Snap 
packages.
Once we are happy that the Snap is working well enough (I have had nearly zero 
feedback on whether it is working for others), I think step one is to encourage 
new users who want a non-distro-supplied version (e.g. if they have a bug or 
need a later version) to install duplicity that way instead of through the 
PPAs. That essentially means that we on the team are effectively only targeting 
one release/set of package versions at a time (currently Ubuntu Bionic).
If that is going well we can then just stop updating the PPAs and anyone 
wanting further updates can move over to the Snap. I believe some packages then 
push an updated package to the PPAs that installs the Snap instead.
> > > > > On py2 I cannot get past to import even though it's in tox and local 
> > > > > site-packages. This causes all of the functional tests to fail.
> > > > Do we need this on Py2? Isn't it to provide Python 2-equivalent 
> > > > functionality in Python 3? Can we put the import within a test for 
> > > > Python version (and then obviously in future move over to using Python 
> > > > 3 constructs).
> > > >
> > >
> > > Yes, past.old_div() is used in multiple modules to keep away from py3's 
> > > broken division.
> > >
> > >
> > >
> >
> > I am still getting this when trying to do ./run-tests on trunk, but I see 
> > you managed to get 0.8.00 out the door -- how did you fix it on your 
> > machine?
>
>
> I did a clean install on a Ubuntu Bionic VM and that worked.
Hmmm... Did you install anything from outside the Bionic repos (e.g. pip etc) 
to make it work?
When I try to run our tests on a clean 18.04 environment, I'm getting an 
"IndexError: list index out of range" again:
lxc launch ubuntu:18.04 duplicity-run-tests
lxc exec duplicity-run-tests -- /bin/bash
apt update && \
apt -y install build-essential librsync-dev python-dev bzr python3-dev \
python-fasteners python-future python-mock python-requests python-urllib3 
python3-urllib3 \
python-coverage python3-coverage python-pexpect python3-pexpect 
python-pycodestyle python3-pycodestyle pylint pylint3 python-pytest 
python-pytest-pylint python3-pytest-pylint python-pytest-runner 
python3-pytest-runner tox && \
bzr branch lp:duplicity && \
cd duplicity/duplicity && \
python2 compilec.py && python3 compilec.py && \
cd ../testing && \
./run-tests
[...]
GLOB sdist-make: /root/duplicity/setup.py
Traceback (most recent call last):
File "/usr/bin/tox", line 11, in <module>
load_entry_point('tox==2.5.0', 'console_scripts', 'tox')()
File "/usr/lib/python3/dist-packages/tox/session.py", line 39, in main
retcode = Session(config).runcommand()
File "/usr/lib/python3/dist-packages/tox/session.py", line 390, in runcommand
return self.subcommand_test()
File "/usr/lib/python3/dist-packages/tox/session.py", line 535, in 
subcommand_test
path = self.get_installpkg_path()
File "/usr/lib/python3/dist-packages/tox/session.py", line 511, in 
get_installpkg_path
path = self._makesdist()
File "/usr/lib/python3/dist-packages/tox/session.py", line 414, in _makesdist
return self.config.distdir.listdir()[0]
IndexError: list index out of range

That is not an error I am getting on my normal development box, but I cannot 
remember what I have done to that since a fresh install. Any tips if you have 
just done it? That's all the packages from requirements.txt in both their 
python2 and python3 variants.
Kind regards,
Aaron
_______________________________________________
Mailing list: https://launchpad.net/~duplicity-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~duplicity-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to