Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Confusing results when calling run_task on undefined target

未关闭
#1,463 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
42/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
perl
领域
devops

调研方向

从 issue 中的最小 Perl 重现开始,跟踪使用 on => undef 调用 run_task 时的执行过程。将其返回行为与相关的 task 调用进行比较,然后确定预期结果是一致返回某个值,还是显式报错,并为此情况添加覆盖测试。

由索引模型根据 Issue 内容生成。

描述

bug

Describe the bug

When calling my $return = run_task $task, on => undef;, the value of $return is always 1.

(Originally reported by @sdondley via IRC, thanks!)

How to reproduce it

Steps to reproduce the behavior:

  1. Call run_task with on => undef.

Shortest code example that demonstrates the bug:

task 'abc', sub {
  return 'abc';
};

task 'run_task_undef', sub {
  my $return = run_task 'abc', on => undef;
  say $return;
};

Expected behavior

While a task's returned value might not be well-defined, it would be nice to have as consistent behavior as possible between the various calls. In this case, returning "abc" instead of 1.

Currently run_task $task, on => undef seems to execute on the same target as the calling task, which might be confusing and/or error-prone. Perhaps it's best to die() with an error message in this case.

Circumstances

  • Rex version: current master
  • Perl version: 5.32.0
  • OS running rex: Gentoo
  • OS managed by rex: Gentoo
  • How rex was installed: dzil install

Debug log

主要语言
Perl
星标
736
派生
217
PR 合并指标
30 天内没有已合并 PR

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

RexOps/Rex 的其他 Issue

查看 RexOps/Rex 的全部 Issue

相似的 Issue

更多 Perl Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。