繁体   English   中英

通过TortoiseSVN客户端挂钩脚本调用运行测试以进行预提交

[英]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

一种可能性是使用Perl安装随附的pl2bat脚本,该脚本会将Perl脚本转换为Batch文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM