繁体   English   中英

测试失败由gitlab-ci运行,但未在bash中运行

[英]Tests fail ran by gitlab-ci, but not ran in bash

我正在使用gitlab-ci自动构建C ++项目并运行以python编写的单元测试(它运行守护程序,然后通过基于网络/套接字的接口进行通信)。

我发现的问题是,当测试由GitLab-CI运行程序运行时,它们由于各种原因而失败(对于一个测试,它会在特定的网络操作上无限期地停止,而在另一个测试中,它不会接收到一个应该已经发送)。

但是:当我打开SSH并手动运行测试时,它们都可以成功运行(这些测试在我们所有开发人员的计算机[linux / windows / OSX]上也都可以成功)。

在这一点上,我一直在尝试复制gitlab-ci正在使用的足够的构建/测试条件,但是我真的不知道任何确切的细节,而且我的实验都没有重现该问题。

我非常感谢以下任何一项的帮助:

  • 关于在gitlab-ci之外手动运行测试的指南,但是复制了它的环境,这样我就可以得到相同的错误/失败并调试守护程序和/或测试,或者
  • 了解为什么GitLab-CI-Runner运行测试失败

旁白1:由于某种原因,通常会发送到shell的所有(大部分是调试的)输出并未显示在gitlab-ci输出中。

旁白2:我也尝试过使用jenkins进行设置,但是其中一项测试甚至无法连接到守护程序,而其余测试则可以正常进行。

-i通常通过仅对跑步者使用docker容器并在其中运行测试来复制问题,不知道您是否具有这样的设置=(。-通常,如果您登录该容器,则测试实际上不会失败他实际上做了所有事情,但是不向Gilab CI报告,不要惊慌,它只是在说它而已。

PS:您可以通过检查计算机上的进程来查看其是否真正运行。

示例:我使用Java和docker运行gitlab ci:

gitlab ci开始执行其操作,然后挂起下载,同时我登录容器,并检查他是否确实在工作,并设法上传了我编译的docker映像。

暂无
暂无

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

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