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

Create test suite #28

Merged
merged 4 commits into from
Mar 10, 2020
Merged

Create test suite #28

merged 4 commits into from
Mar 10, 2020

Conversation

jayvdb
Copy link
Contributor

@jayvdb jayvdb commented Dec 21, 2019

No description provided.

@jayvdb
Copy link
Contributor Author

jayvdb commented Dec 21, 2019

The current tests intentionally expose errors due to #7 . IMO the usefulness of this package is quite limited unless it is complete.

These packages are not needed to run tests,
and they polute the testbed.
@jayvdb jayvdb force-pushed the tests branch 2 times, most recently from 870b9ee to da15727 Compare December 21, 2019 08:24
@jayvdb
Copy link
Contributor Author

jayvdb commented Dec 21, 2019

I'm happy to expand ffc46e2 (Update lists) into multiple commits with more descriptive commit messages, but I'm going to focus on getting more tests written to expose the other missing module sets in a reliable manner.

I've avoided updating py26, py32 & py33 except the blindly obvious, as they should be either discarded or CI added to run the tests on them, if they are going to be supported.

Bad data is often worse than no data.

@ocefpaf
Copy link
Contributor

ocefpaf commented Dec 21, 2019

@jayvdb thanks for this PR! It would be nice if we had an automated way to capture these missing modules.

@jayvdb
Copy link
Contributor Author

jayvdb commented Dec 21, 2019

The next set of tests almost provide that, at least for large subsets of the lists.

@ocefpaf
Copy link
Contributor

ocefpaf commented Dec 21, 2019

@jayvdb this looks good to me. Do you mind running isort and black before we merge this?

@jayvdb
Copy link
Contributor Author

jayvdb commented Dec 21, 2019

ok

@jayvdb jayvdb force-pushed the tests branch 3 times, most recently from 453519e to cf4d338 Compare December 21, 2019 14:56
@jayvdb
Copy link
Contributor Author

jayvdb commented Dec 21, 2019

The remaining sets of modules still not validated that I know of are

  1. Python 2 TK modules and plat-linux2/ modules (CDROM, DLFCN, IN, TYPES)
  2. the normal DSOs top-level,
  3. the test DSOs,
  4. the test generated modules
  5. the stdlib generated modules (e.g. __mp_main__) & sub-modules with normal DSOs. (e.g. pyexpat.errors & pyexpat.model)
  6. _sysconfigdata_foo where 'foo' is plat-specific, e.g. '_sysconfigdata_m_linux_x86_64-linux-gnu' - this one needs code changes IMO to dynamically add the appropriate value to the list per platform, as enumerating all possible options is insane.
  7. Win and Mac only modules

Im not familiar with TK modules, but that should be easy to investigate and fix.

No 1 is easy, and I am doing that now.

I think the other three are best found by running the CPython test suite with an import tracer. No 2 is probably small enough, and stable enough, that manual compilation is feasible by reading the CPython git history.

@jayvdb
Copy link
Contributor Author

jayvdb commented Dec 21, 2019

@ocefpaf, I think this is about where this PR should end. As you reviewed it half way, I havent done your style requests yet, so you can easily see the latter additions.
There are a few other stylistic/structural improvements I'd like to make before it is merged, like adding a tests.__main__ to run all test classes together, and removing the top level if around classes in test_platform. Also happy to re-organise anything else you see that needs doing. I'll tidy it all up tmr.

@jayvdb
Copy link
Contributor Author

jayvdb commented Dec 22, 2019

@ocefpaf, probably best to get a review now, fix any critical issues, and get it merged asap, and iterate further after that when the repo is green.

@jayvdb
Copy link
Contributor Author

jayvdb commented Jan 11, 2020

Hello?

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 this pull request may close these issues.

2 participants