Вызов тестов через клиентский скрипт подключения TortoiseSVN для предварительной фиксации - PullRequest
0 голосов
/ 14 марта 2012

Используя клиентский скрипт tortoiseSVN для предварительной фиксации, мы пытаемся запустить несколько тестовых примеров, используя подпрограмму runtests Test :: Harness. В настройках 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.

Любая идея, как мы можем решить эту проблему.

1 Ответ

1 голос
/ 15 марта 2012

Знает ли ваш компьютер с Windows, что делать со сценариями, оканчивающимися на *.pl?То есть, если дважды щелкнуть файл .pl, запускается ли он на Perl?Это установлено в реестре.Вы устанавливаете это на вкладке Типы файлов в Folder Options.В более старых версиях Windows это можно сделать через меню Инструменты-> Параметры папки ... .Я не уверен, где это можно сделать в Vista и Windows 7.

Как только вы установили связь между Perl и настройкой файлов *.pl, вам также нужно отредактировать переменную среды %PATHEXT%, чтобы включить.PL в списке суффиксов, которые считаются исполняемыми файлами.

В противном случае вам просто нужно ввести имя интерпретатора Perl в скрипт подключения вашего пакетного файла:

 C:\Perl\bin\perl run.pl unittest.t

Еще одинвозможно использование скрипта pl2bat , поставляемого с вашей установкой Perl, который превращает скрипты Perl в пакетные файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...