[英]Invoking runtests through TortoiseSVN client side hook script for pre-commit
使用tortoiseSVN客户端挂钩脚本进行预提交,我们试图使用Test :: Harness的runtests子运行一些单元测试用例。 在TortoiseSVN的“设置”->“挂钩脚本”->“配置挂钩脚本”(用于预提交)中,我在“要执行的命令行:”标题下提供了一个批处理文件名。
该批处理文件包含以下一行run.pl unittest.t
run.pl的内容
#!/usr/bin/perl -w
use strict;
use warnings;
use Test::Harness;
# Run a single test suite
my @files = @ARGV;
runtests(@files);
因此,当我尝试提交任何代码时,此脚本将被调用并失败,并显示以下错误消息:
Could not execute (D:\Perl589\bin\perl.exe -w D:\t\unittest.t): open3: Can't call method "close" on an undefined value at D:/Perl589/lib/IPC/Open3.pm line 368.
任何想法我们如何解决这个问题。
您的Windows计算机是否知道如何处理*.pl
结尾的脚本? 也就是说,如果双击.pl
文件,它将运行Perl吗? 这是在注册表中设置的。 您可以在“ 文件 Folder Options
中的“ 文件类型”选项卡下进行设置。 在旧版Windows中,这可以通过“ 工具”->“文件夹选项...”菜单完成。 我不确定在Vista和Windows 7中可以在哪里完成。
一旦有了Perl和*.pl
文件设置之间的关系,就还必须编辑%PATHEXT%
环境变量,以将.PL
包括在被视为可执行文件的后缀列表中。
否则,您只需将Perl解释器的名称放在Batch文件的挂钩脚本中:
C:\Perl\bin\perl run.pl unittest.t
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.