Skip to content

Conversation

@mulkieran
Copy link
Member

@mulkieran mulkieran commented Jul 7, 2025

@mulkieran mulkieran self-assigned this Jul 7, 2025
@mulkieran mulkieran moved this to In Progress in 2025June Jul 7, 2025
@mulkieran
Copy link
Member Author

Somewhat inscrutable error:

ModuleNotFoundError: No module named 'pyparsing.results'; 'pyparsing' is not a package

Inscrutable because pyparsing is definitely installed, etc. The usual cause is a name conflict, but I'm not aware that I'm inserting any pyparsing thing anywhere.

@mulkieran
Copy link
Member Author

Aaah, and the failure is only on our "lowest developement environment", fedora 35, which means it could be a problem with the library. Not locally reproducible, presumably due to newer Fedora.

@mulkieran mulkieran removed this from 2025June Jul 8, 2025
@mulkieran mulkieran moved this to In Progress in 2025July Jul 8, 2025
@mulkieran mulkieran moved this from In Progress to Pending in 2025July Jul 8, 2025
@mulkieran
Copy link
Member Author

Should work on adding support for apply step to hs-dbus-signature.

Signed-off-by: mulhern <amulhern@redhat.com>
Signed-off-by: mulhern <amulhern@redhat.com>
@mulkieran
Copy link
Member Author

We could make this part of CI...how?

@mulkieran
Copy link
Member Author

Problem here is that there is a sequence of steps:

  • run tests profiling with monkeytype (Makefile target)
  • apply changes (Makefile target)
  • fmt all (since changes may require formatting)
  • run linter (to see if anything is wrong)

We can do that all in nightly CI w/out difficulty, but it is not a single step so would be mean to impose on developer all the time. On the other hand, the developer may make a change that requires or results in an update to a type. So we need to add a shell script for them...and then, how to use exactly?

This can fail in a number of places:

  1. Tests fail during profiling. Do they want to stop devel and fix it? No, they want to ignore it.
  2. apply changes with an overwrite is best here
  3. fmt should work
  4. linter may reject, more or less correctly, due to the types being concrete and dynamic. Again, the developer does not want to have to deal with this.

@mulkieran mulkieran force-pushed the monkeytype branch 3 times, most recently from c9cc19b to c9fa3ca Compare July 18, 2025 14:07
@mulkieran
Copy link
Member Author

mulkieran commented Jul 18, 2025

Another problem monkeytype has is that it needs extra help finding the pip install path to use. the simple Makefile 'test' target does not require that the PYTHONPATH be set, but the monkeytype test target does.

@mulkieran mulkieran force-pushed the monkeytype branch 7 times, most recently from d409d9e to a34b23f Compare July 18, 2025 19:29
@mulkieran
Copy link
Member Author

And, a problem for this project, I suspect that the order of types in a Union type are determined by the frequency of their occurrence within a call trace. So, if the majority of one's test suite is not deterministic in its choice of tests, the order of types in a Union type will flip around.

@mulkieran mulkieran moved this from Pending to In Progress in 2025July Jul 18, 2025
Annotate modules with what seem to be correct types and that pass the
linter and all tests.

Add a check for type annotations changes that only runs when merged, since
this package is rather dormant and so nightly is annoyingly frequent.
Restrict its operation to modules where it does not currently introduce
annotations that cause some kind of test failure, or make syntactic changes
in the annotations that result in a diff.

This reduces the number of modules automatically checked to exactly one,
but other projects are likely to do a bit better than that.

Signed-off-by: mulhern <amulhern@redhat.com>
@mulkieran mulkieran marked this pull request as ready for review July 18, 2025 20:25
@mulkieran mulkieran merged commit 440ca49 into stratis-storage:master Jul 18, 2025
9 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in 2025July Jul 18, 2025
@mulkieran mulkieran deleted the monkeytype branch July 18, 2025 20:25
@mulkieran mulkieran moved this from Done to Done(2) in 2025July Jul 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

No open projects
Status: Done(2)

Development

Successfully merging this pull request may close these issues.

1 participant