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

NodeDriver naming #239

Closed
jernst opened this issue Jul 16, 2024 · 3 comments
Closed

NodeDriver naming #239

jernst opened this issue Jul 16, 2024 · 3 comments

Comments

@jernst
Copy link
Member

jernst commented Jul 16, 2024

On develop, we now have:

% feditest list-nodedrivers
imp.ImpInProcessNodeDriver
manual.ManualFediverseNodeDriver
mastodon.manual.MastodonManualNodeDriver
mastodon.ubos.MastodonUbosNodeDriver
saas.SaasFediverseNodeDriver
sandbox.SandboxMultClientDriver_ImplementationA
sandbox.SandboxMultServerDriver_Implementation1
sandbox.SandboxMultServerDriver_Implementation2Faulty
wordpress.WordPressPlusActivityPubPluginUbosNodeDriver

which isn't internally consistent: the Mastodon ones have an extra package, and they repeat themselves: eg "manual" is in the name twice. Also the feditest-tests-fediverse Makefiles don't run any more due to this change.

The names of these drivers is part of the "UX" for feditest, and so it's worth pondering what's the most easily usable.

I'm not enough of a Python hacker to figure out whether there is a way to keep the classes in the files they are in, while exporting them with a different name (and still using the @nodedriver annotation).

@steve-bate
Copy link
Member

@jernst

I'm back. I'll take a look at this but I don't have a good understanding of the problem yet.

% feditest list-nodedrivers
...
manual.ManualFediverseNodeDriver
mastodon.manual.MastodonManualNodeDriver
mastodon.ubos.MastodonUbosNodeDriver
...

which isn't internally consistent: the Mastodon ones have an extra package, and they repeat themselves: eg "manual" is in the name twice.

That was already the case with manual.ManualFediverseNodeDriver, right? I'll need to study the node driver plugin implementation to determine why the extra module level in the path is a problem. That constraint is surprising to me.

Also the feditest-tests-fediverse Makefiles don't run any more due to this change.

I tested with feditest directly and I thought it was working. Can you describe the steps for reproducing the Makefile problem?

The names of these drivers is part of the "UX" for feditest, and so it's worth pondering what's the most easily usable.

Do you think the extra module entry in the path is a significant UX/DX/usability issue?

I'm not enough of a Python hacker to figure out whether there is a way to keep the classes in the files they are in, while exporting them with a different name (and still using the @nodedriver annotation).

I may have suggestions after I study the node driver plugin discovery code further.

@jernst
Copy link
Member Author

jernst commented Jul 19, 2024

I'm in the middle of making the Node and NodeDriver hierarchy simpler, and it impacts this. See also #250 . So not right now.

@jernst
Copy link
Member Author

jernst commented Aug 2, 2024

This is done with #252.

@jernst jernst closed this as completed Aug 2, 2024
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

2 participants