使用 Perlbrew 安装 perl-5.20.1。 perl5db.t 中的测试失败

2024-01-23

我正在尝试使用 Perlbrew 安装 Perl v5.20.1,但由于脚本中的测试失败而失败perl5db.t。我使用的是 64 位架构 (x86_64) 的 Ubuntu 14.04。

Running:

$ perlbrew install perl-5.20.1

开始安装正常并运行了几分钟,但随后由于测试失败而中止。输出:

Test Summary Report
-------------------
../lib/perl5db.t                                                (Wstat: 0 Tests: 119 Failed: 86)
  Failed tests:  19-56, 58-60, 63-64, 66, 68-72, 74, 76-80
                82-83, 85-101, 104-108, 110, 112, 114, 116-119
Files=2409, Tests=699745, 550 wallclock secs (34.45 usr  3.70 sys + 264.29 cusr 27.76 csys = 330.20 CPU)
Result: FAIL

From ~/perl5/perlbrew/build.perl-5.20.1.log我可以看到第一个失败的测试是:

# Failed test 19 - Can set breakpoint in a line in the middle of the file. at ../lib/perl5db.t line 555
#      got 'In MyModule.
# In Main File.
# '
# expected /(?^msx:
#         ^Var=Bar$
#             .*
#         ^In\ MyModule\.$
#             .*
#         ^In\ Main\ File\.$
#             .*
#         )/

Update

我想我找到了有关问题原因的更多详细信息。我通过调试测试脚本跟踪了问题/home/hakon/perl5/perlbrew/build/perl-5.20.1/lib/perl5db.t在构建目录中。

剧本perl5db.t是一个测试 Perl 调试器是否正常工作的脚本。当它测试是否可以在文件中间的一行上设置断点时,会发生第一个失败的测试。文件/home/hakon/perl5/perlbrew/build/perl-5.20.1/lib/perl5db/t/filename-line-breakpoint好像:

use strict;
use warnings;

use MyModule;

my $x = "Foo";

MyModule::function();

print "In Main File.\n";

以及包含的模块MyModule.pm is:

package MyModule;

use strict;
use warnings;

use vars qw($var);

$var = "Bar";

sub function
{
    print "In MyModule.\n";
}

1;

然后测试脚本使用以下命令在脚本上运行 Perl-dswitch 和以下命令到调试器:

b ../lib/perl5db/t/MyModule.pm:12
c
do { use IO::Handle; STDOUT->autoflush(1); print "Var=$var\n"; }
c
q

它期望调试器的输出类似于(即:匹配):

qr/
        ^Var=Bar$
            .*
        ^In\ MyModule\.$
            .*
        ^In\ Main\ File\.$
            .*
        /msx

但它得到:

In MyModule.
In Main File.

哪个不匹配。所以问题很可能是

do { use IO::Handle; STDOUT->autoflush(1); print "Var=$var\n"; }

命令,它根本不产生任何输出..


这个问题很可能是由于bug https://rt.perl.org/Public/Bug/Display.html?id=130445 in perl5db.t预期环境变量PERLDB_OPTS为空。但就我而言,它不是空的,而是设置为NonStop导致测试脚本出现故障。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Perlbrew 安装 perl-5.20.1。 perl5db.t 中的测试失败 的相关文章

随机推荐

  • 使用 kotlin.UByte 作为房间实体不起作用

    我想将以下数据类存储在我的房间数据库中 不知怎的 我没有成功 Entity data class UInt8 PrimaryKey autoGenerate true var key Int var name String uint8 te
  • 如何将方法参数声明为任何枚举

    我有一个方法 需要将枚举作为参数传递 public
  • 如何刷新实体主页视图上的列表

    我的 CRM 2011 实体之一上有一个自定义功能区按钮 可以有效禁用该实体 然后我想刷新该实体主页上的当前视图 我希望这个由 JS 触发 目前 我可以刷新整个父窗口 这将使我回到仪表板 而不是该实体的主页 Thanks 好问题 您可以通过
  • notepad ++ 中的 EOL 转换

    由于某种原因 当我在 Windows 计算机上从 unix 服务器打开文件时 它们偶尔会进行 Macintosh EOL 转换 并且当我再次编辑 保存它们时 它们无法在 unix 服务器上正常工作 我只使用记事本 从这个unix服务器编辑文
  • Haskell 错误:“没有 (Enum [Int]) 的实例

    我有以下代码 betaRest Int gt Int gt Int betaRest n prevDigits n 0 length prevDigits otherwise sum map betaRest n 1 0 9 betaFir
  • gitolite hooks - 接收后似乎不起作用

    我在我的仓库中配置了 gitolite 我看到了 gitolite 文献中记录的 2 个钩子副本 我希望服务器端挂钩 post receive 在有人推送到存储库时发送电子邮件 我正在使用 git notifier 但是 当我推动时什么也没
  • 文本区域高度增加

    当我们打字时 如何将文本区域的高度从 18 像素增加到最大 50 像素 那么如果有人输入更多内容 滚动条应该接管 这可能吗 您可以使用以下任一插件 文本扩展器 演示 http blogs sitepointstatic com exampl
  • 使用git子树合并,同时也在所有合并子树的所有分支中进行合并

    我想使用一个流行的开源问题跟踪器 Redmine 它提供 git 集成 不幸的是 跟踪器中的每个项目只能与一个 git 存储库关联 在跟踪器中创建多个项目不是我的理想设置 考虑到这一点 我尝试使用 git 子树合并 解释为here http
  • 如何通过 Google 图表 API 使用 X 轴日期?

    有没有办法使用 Google 图表 API 绘制图表 以便 X 轴值是一个月中的天数 我的数据点没有以相同的频率提供 例如 Date Value 1 1 2009 100 1 5 2009 150 1 6 2009 165 1 13 200
  • 如何获得实时期权链?

    如何获取实时期权链 每分钟或如果可能的话 每秒 另外 我想每次刷新包含此数据 从Python导出 的excel 以便可以刷新图表 我编写了下面的代码来获取日终数据 spot market inputs s ticker ITC start
  • 边距和负边距

    我一直以为我理解边距和负边距 但显然我不明白 我刚刚开始新的设计 但已经遇到了问题 我有一个 div hill3Cont 和另一个 div hill3Hill 嵌套在里面 这是它们的 CSS hill3Cont width 100 back
  • 在android上添加OnLongClickListener支持TabLayout | TabLayout.Tab

    我正在使用服务库中找到的 TabLayout 我尝试在长按选项卡时添加 OnLongClickListener 这对我来说是不可能的 我什至尝试使用 childViews 来 破解 它 View tabLayoutChild tabLayo
  • 自定义 TF 对象检测边界框厚度和标签字体大小

    运行预测https github com tensorflow models blob master research object detection object detection tutorial ipynb https githu
  • 如何在VSCode中设置“终止正在运行的任务”的键盘快捷键?

    我让我的构建运行我的应用程序 直到我杀死它 这工作正常 但最好将 终止正在运行的任务 绑定到键盘快捷键 这可能吗 当您要更改键绑定时 会列出所有命令 因此您可以将如下内容添加到用户设置中 key shift cmd s command wo
  • 自动拉伸表格单元格 div css

    我知道有很多类似的问题 但没有一个能帮助我解决这个问题 我有非常简单的设置 wrapper width 100 display table dontBreakmyLine display table cell iCanUseWhatIsLe
  • HTTP基本认证,使用python

    我希望我的用户访问我的域上的受保护目录 htaccess 和 htpasswd 均已创建并驻留在受保护的库中 要求输入用户名 密码组合的 html 是
  • 如何在工作组安装上以编程方式清除 MSMQ 系统队列日志?

    我试试这个 MessageQueue mq new MessageQueue Journal mq Purge 它在 XP 上运行良好 但是 在Windows 2003服务器上 我总是遇到这个错误 工作组安装计算机不支持该操作 系统队列的正
  • 从字符串中提取主机名

    我想只匹配 URL 的根 而不是文本字符串中的整个 URL 鉴于 http www youtube com watch v ClkQA2Lb iE http youtu be ClkQA2Lb iE http www example com
  • 如何在 Spring 中使用自动装配 bean 创建简单工厂模式?

    我有一个具有 4 个非常相似的方法的控制器 调用远程服务器上的 API 对不同类型的用户执行不同的操作 这些 API 调用之间发生的变化只是端点和一些参数 因此 这 4 个方法都使用非常相似的代码调用服务 它们从服务器获取令牌 设置参数 返
  • 使用 Perlbrew 安装 perl-5.20.1。 perl5db.t 中的测试失败

    我正在尝试使用 Perlbrew 安装 Perl v5 20 1 但由于脚本中的测试失败而失败perl5db t 我使用的是 64 位架构 x86 64 的 Ubuntu 14 04 Running perlbrew install per