#251 Dependency test executor not supported in Fedora
Opened by mvadkert. Modified

I tried using a dependency executor in Fedora https://src.fedoraproject.org/rpms/perl-XS-Parse-Keyword/pull-request/2:

$ fmf show
/plans/revdep
discover: {'how': 'fmf'}
execute: {'components': ['perl-Future-AsyncAwait',
                'perl-Object-Pad',
                'perl-Syntax-Keyword-Defer',
                'perl-Syntax-Keyword-Dynamically'],
 'how': 'dependency'}
summary: Reverse dependency tests
/plans/sanity
discover: {'how': 'fmf'}
execute: {'how': 'tmt'}
summary: Sanity tests
/tests/upstream-tests
component: perl-XS-Parse-Keyword
require: perl-XS-Parse-Keyword-tests
summary: Upstream tests
test: /usr/libexec/perl-XS-Parse-Keyword/test

But the infrastructure failed http://artifacts.dev.testing-farm.io/07e72e93-d0ec-4380-b10a-8368d7c3f4f5/:

/plans/revdep
1
infrastructure classname = tests
Error: tests failed to run. This is likely an infrastructure issue.
Found a bug? Please open an issue in the issue tracker: https://gitlab.com/testing-farm/general/-/issues
ERROR
No tests were run.

moved from https://gitlab.com/testing-farm/general/-/issues/30

@psss This use case of linking other plan from plans, is something that is coming and coudl be used here then, or do we have some other guidance?

For now, something which works (but it is not so nice and brief) is linking to other tests via discover ....

I know, but I don't like discover because it requires storing dist-git absolute URL. Those tests are not portable from Fedora to CentOS stream and to RHEL because dist-git domain names differ. Also a git branch would have to be stored and that could not follow Fedora branching (e.g. creating "f35" branch when creating Fedora 35).

What I like on the "dependency" executor is referring to plans and tests of other components by the component name. I.e. links relative to a dis-git.

For now, I will keep copying FMF tests into different components like in https://src.fedoraproject.org/rpms/perl-XS-Parse-Keyword/blob/rawhide/f/tests/revdep-tests/perl-Future-AsyncAwait.fmf:

summary: Reverse dependency tests
component: perl-Future-AsyncAwait
require: perl-Future-AsyncAwait-tests
test: /usr/libexec/perl-Future-AsyncAwait/test

Thanks for considering this feature request.

@psss do we need a new tmt issue for this use case?

https://github.com/psss/tmt/issues/798

blocked on tmt support

Metadata Update from @mvadkert:
- Issue tagged with: blocked, tmt

Metadata