相关疑难解决方法(0)

当 2 个测试用例失败时,Gitab CI 管道中的测试标记为通过

我们有一个在 Gitlab 中管理的项目,带有用于构建和测试(pytest、Google 测试)的 CI 管道。我们在 Google 测试中的两三个测试用例失败了。但Gitlab认为测试阶段是成功的。是因为成功率超过90%(任意值)吗?如果我们没有获得 100% 的成功,有没有办法让阶段(以及整个管道)失败?

这是管道摘要的屏幕截图: 在此输入图像描述

这是该阶段的 yml 脚本:

test_unit_test:
  stage: test
  needs: ["build", "build_unit_test"]
  image: $DOCKER_IMAGE
  rules:
    - if: '$CI_PIPELINE_SOURCE != "merge_request_event"'
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
  script: |
    ZIPNAME=`cat _VERSION_.txt`
    ./scripts/gitlab-ci/stage-unittests.sh test_unit_test_report.xml $ZIPNAME
  artifacts:
    reports:
      junit: test_unit_test_report.xml
    expire_in: 1 week
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助。问候。

testing unit-testing gitlab gitlab-ci

3
推荐指数
1
解决办法
2993
查看次数

如果函数没有显式使用'ret',为什么没有返回值

我有以下程序:

SECTION .text
main:
     mov ebx, 10
     mov ecx, 50

repeat:
     inc ebx
     loop repeat

     mov eax, ebx
     ret
Run Code Online (Sandbox Code Playgroud)

当该程序运行时,它按预期返回60.但是,如果你删除最后的ret语句,程序运行正常,但然后返回0.为什么?

x86 assembly

2
推荐指数
1
解决办法
555
查看次数

退出($ status)是否违反了单一责任原则?

PHP手册页地围绕出口构造状态:

exit - 输出消息并终止当前脚本

基于此,认为它违反单一责任原则是否正确?

php

1
推荐指数
1
解决办法
196
查看次数

为什么Python的argparse使用SystemExit的错误代码为2?

当我给Python的argparse输入它不喜欢时,它会引发一个代码为2的SystemExit,这似乎意味着"没有这样的文件或目录".为什么要使用此错误代码?

import argparse
import errno

parser = argparse.ArgumentParser()
parser.add_argument('arg')

try:
    parser.parse_args([])
except SystemExit as se:
    print("Got error code {} which is {} in errno"
        .format(se.code, errno.errorcode[se.code]))
Run Code Online (Sandbox Code Playgroud)

产生这个输出:

usage: se.py [-h] arg
se.py: error: too few arguments
Got error code 2 which is ENOENT in errno
Run Code Online (Sandbox Code Playgroud)

python errno argparse

1
推荐指数
1
解决办法
2920
查看次数

PERL 中使用的 exit(0) 和 exit(1) 有什么区别?

所以,我在处理一个已经实现的项目时遇到了一个PERL脚本。由于是保密的,我不能透露太多细节,但代码有点像这样:

if(defined($x)){
    exit(0);
}
#...........
#.some other code.
#...........

if(!defined($y)){
      print "ERROR !";
      exit(1);
}
Run Code Online (Sandbox Code Playgroud)

我假设 exit(1) 处于错误状态,而 exit(0) 用于成功案例。但是既然我们已经在打印错误信息了,exit(0)exit(1)之间有什么区别呢?

perl

-3
推荐指数
1
解决办法
1362
查看次数

标签 统计

argparse ×1

assembly ×1

errno ×1

gitlab ×1

gitlab-ci ×1

perl ×1

php ×1

python ×1

testing ×1

unit-testing ×1

x86 ×1