Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve testing on windows #17

Open
carlodri opened this issue May 6, 2019 · 2 comments
Open

improve testing on windows #17

carlodri opened this issue May 6, 2019 · 2 comments

Comments

@carlodri
Copy link
Contributor

carlodri commented May 6, 2019

windows needs better testing, as discussed in #14, moving this here to tidy up discussion.

/cc @pharshalp

@pharshalp
Copy link

pharshalp commented Aug 2, 2019

@carlodri Apologies for the delay in my response.

Here is a short example that can be used to write a test.
(1) Create an svg file using matplotlib

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4])
fig.savefig('test.svg')

(2) convert the svg file to a png file using cairosvg on Windows.
cairosvg.exe test.svg -o test.png

This fails for cairosvg v2.3 on Windows as I had mentioned in #14. Started working fine v2.3.1 onwards. It has to do with handling the text elements in the svg file (svg files without text elements converted fine even for v2.3). I am making an attempt of turning this into a test #19.

@MutantPlatypus
Copy link

Hi @carlodri,

How do we ensure that noarch: python recipes are tested on multiple platforms? It seems that they are only built on Linux with no option to force builds on Windows or OSX. It kind of makes sense: Pure Python shouldn't need to be tested across OSes.

I see three options

  1. Request that cairosvg be added as a downsteam test of the cairo and cffi feedstocks. That seems like a lot to ask, though.

  2. Feature request to the core team: If a noarch package has dependencies that aren't architecture specific, then either the documentation should state that a package shouldn't be noarch or the tests should be run on every OS for which the dependencies are available.

  3. Drop the noarch. I found this: https://conda-forge.org/docs/maintainer/knowledge_base.html#noarch-builds. Maybe this is a good reason to drop the noarch? Even though cairosvg meets all the criteria (1.0.22 technically does not due to the scripts argument in setup.py, but all that script does is call the same entry point listed in build section), there are still binary dependencies so it doesn't save complexity in the dependency resolution and we would benefit from the extra CI resources to test across platforms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants