Perl 没有为扩展定义测试

Perl 没有为扩展定义测试,perl,perl-module,Perl,Perl Module,我已经围绕一些C代码编写了一个XS包装器,并将其打包为一个CPAN模块,称之为“Foo”。原始C源代码位于src/中,在perlxstut之后,该目录有自己的Makefile.PL “make test”的输出现在看起来是这样的,我想消除的是“没有为Foo扩展定义测试”警告: All tests successful. Files=1, Tests=28, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.04 cusr 0.00 csys = 0.05

我已经围绕一些C代码编写了一个XS包装器,并将其打包为一个CPAN模块,称之为“Foo”。原始C源代码位于
src/
中,在perlxstut之后,该目录有自己的Makefile.PL

“make test”的输出现在看起来是这样的,我想消除的是“没有为Foo扩展定义测试”警告:

All tests successful.
Files=1, Tests=28,  0 wallclock secs ( 0.01 usr  0.00 sys +  0.04 cusr  0.00 csys =  0.05 CPU)
Result: PASS
make[1]: Entering directory `/path/to/Foo/src'
No tests defined for Foo extension.
make[1]: Leaving directory `/path/to/Foo/src'
创建的Makefile中触发的位如下所示:

subdirs-test ::
    $(NOECHO) $(NOOP)

subdirs-test ::
    $(NOECHO) cd src && $(MAKE) test $(PASTHRU)
但我找不到是什么造成了第二个,也找不到如何让它停止


我遗漏了什么?

您通过使用第二个Makefile.PL来解决这个问题。坚持一个,既可以简化事情,又可以避免这个问题。“这是一个“没有为Foo扩展定义测试”的警告,我想摆脱它,“当一个朋友拍拍你的肩膀说,“我想你已经受够了。我们应该回家。”你应该注意它们,而不是试图摆脱它们。@ikegami,你能给我举一个例子或文档,从顶层Makefile.PL中找到额外的C代码吗?“我的回答是空的。”博罗丁,哈哈,是的,所有的代码都在顶层进行了彻底的测试。这里唯一的东西是第三方C源代码。我发现我可以设置
OBJECT=>['Foo.o','src/thirdparty.o'],
并且事情几乎是正确的,除了编译器在顶层目录中留下
thirdparty.o
,链接器在
src/thirdparty.o