Tag: py.test

有没有办法用pytest来testing沙箱,特别是文件系统的访问?

我有兴趣使用pytest在像docker这样的沙箱中执行可能不受信任的testing,类似于持续集成服务所做的。 我知道,为了正确的沙箱化一个python进程,你需要操作系统级别的隔离,就像在一次性的chroot /容器中运行testing一样,但是在我的用例中,我不需要防止有意识的恶意代码,只能从配对的危险行为“随机”function与参数。 所以较不严格的沙盒仍然可以接受。 但我没有find任何插件,使任何forms的沙箱​​。 在pytest中,沙盒testing执行的最佳方式是什么? 更新 :这个问题不是关于python sandboxing的一般情况,因为testing的代码是由pytest运行的,我不能改变它被执行的方式来使用exec或ast或其他。 另外使用pypy-sandbox不是一个不幸的select,因为它是PyPy特性页面的 “仅限原型”。 更新2 :pytest-dev邮件列表上的Hoger Krekel build议通过pytest-xdist使用专用的testuser进行用户级隔离: py.test –tx ssh=OTHERUSER@localhost –dist=each 这让我意识到 ,对于我的CI类用例: 拥有一个“一次性”环境与隔离环境同样重要,因此每个testing或每个会话都从相同的初始状态运行,并且不受可能由testuser (/ home / testuser,/ tmp,/ var / tmp等)。 因此,testuser + xdist接近解决scheme,但不是那里。 只是为了上下文我需要隔离来运行pytest-nodev 。

使用Pytest,Selenium Grid和Docker创buildtesting基础架构

基于这篇文章 ,我成功地创build了可扩展的selenium网格。 然后,我想运行我的testing套件(用Python编写),使用Pytest进入该网格。 我是Docker的新手,并试图find将我的testing过程迁移到微服务体系结构的最佳方法。 本质上,我想让开发人员能够在PC上本地设置完整的testing基础架构。 所以,我有4个Dockerfiles和1 个docker-compose.yml 。 BASE dockerfile: FROM ubuntu ENV SEL_VERSION 2.44.0 # Update repos for Java RUN apt-get update -qqy \ && apt-get -qqy –no-install-recommends install \ software-properties-common \ && rm -rf /var/lib/apt/lists/* RUN add-apt-repository -y ppa:webupd8team/java RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections RUN echo debconf shared/accepted-oracle-license-v1-1 seen true […]