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

Tests fail with out IDN #184

Closed
jacobmealey opened this issue May 2, 2023 · 7 comments · Fixed by #188
Closed

Tests fail with out IDN #184

jacobmealey opened this issue May 2, 2023 · 7 comments · Fixed by #188

Comments

@jacobmealey
Copy link
Contributor

jacobmealey commented May 2, 2023

It is possible to have a recent version of curl installed without IDN support, so the tests fail.

I was playing around with getting trurl to run on a fresh FreeBSD install, and the curl version packaged by Freebsd didn't ship with IDN enabled. Note that it is curl 8.0.1. #164 added support for skipping tests based on the minimum version, but IDN (and other features) may need to be explicitly defined for the punycode tests.

@krishean
Copy link
Contributor

krishean commented May 2, 2023

I ran into this as well when compiling libcurl as a static library on an ubuntu install that did not have libidn2-dev installed. I just installed the necessary package to get around it, but having a way to see what feature flags are enabled and be able to adjust what tests are run accordingly could be nice

@bagder
Copy link
Member

bagder commented May 2, 2023

Ah yes. We need to poll the used libcurl version for IDN support (using curl_version_info) and probably output that info somehow so that we can figure that out and then avoid those tests...

@jacobmealey
Copy link
Contributor Author

Would it make sense to just print the entirety of feature_names in the output of trurl --version? and then of course update tests.json to specify a specific feature and test.py to skip these features.

@krishean
Copy link
Contributor

krishean commented May 2, 2023

Printing the feature names on a separate line like curl has could be parsed into an array or list in test.py and compared against an array in the json of features required by a given test

@jacobmealey
Copy link
Contributor Author

excellent, that's what I was thinking as well.
The only worry I have is that there are many features in curl that would be listed that aren't even touched in trurl. we wouldn't want to give a user the idea that trurl has some features (for example AsynchDNS) that it makes no use of, which seems like it would get confusing.

@krishean
Copy link
Contributor

krishean commented May 2, 2023

Maybe have a prefix at the beginning of the line such as "libcurl features: " to make sure the user is aware that they are inherited from libcurl, and not necessarily directly related to trurl?

@bagder
Copy link
Member

bagder commented May 3, 2023

I think we should only show features that are relevant for trurl, which for now only is IDN. Otherwise we will show a very long list of things that are irrelevant.

We could possibly convert some of our libcurl version-dependent things to instead become named features: normalize-ipv6, normalize-ipv4 for example.

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

Successfully merging a pull request may close this issue.

3 participants