1b9179ff8SDavid Tenty# REQUIRES: lit-max-individual-test-time 28ade9e75SDan Liew 34f780ea1SStella Stamenova# llvm.org/PR33944 483c28abdSStella Stamenova# UNSUPPORTED: system-windows 54f03fb1cSStella Stamenova 6*295d4e42SDan Liew############################################################################### 7*295d4e42SDan Liew# Check tests can hit timeout when set 8*295d4e42SDan Liew############################################################################### 96dfcc783SDan Liew 1075742410SDan Liew# Test per test timeout using external shell 1175742410SDan Liew# RUN: not %{lit} \ 1275742410SDan Liew# RUN: %{inputs}/shtest-timeout/infinite_loop.py \ 13*295d4e42SDan Liew# RUN: -j 1 -v --debug --timeout 1 --param external=1 > %t.extsh.out 2> %t.extsh.err 1475742410SDan Liew# RUN: FileCheck --check-prefix=CHECK-OUT-COMMON < %t.extsh.out %s 1575742410SDan Liew# RUN: FileCheck --check-prefix=CHECK-EXTSH-ERR < %t.extsh.err %s 1675742410SDan Liew# 1775742410SDan Liew# CHECK-EXTSH-ERR: Using external shell 1875742410SDan Liew 1975742410SDan Liew# Test per test timeout using internal shell 2075742410SDan Liew# RUN: not %{lit} \ 2175742410SDan Liew# RUN: %{inputs}/shtest-timeout/infinite_loop.py \ 22*295d4e42SDan Liew# RUN: -j 1 -v --debug --timeout 1 --param external=0 > %t.intsh.out 2> %t.intsh.err 2375742410SDan Liew# RUN: FileCheck --check-prefix=CHECK-OUT-COMMON < %t.intsh.out %s 2475742410SDan Liew# RUN: FileCheck --check-prefix=CHECK-INTSH-OUT < %t.intsh.out %s 2575742410SDan Liew# RUN: FileCheck --check-prefix=CHECK-INTSH-ERR < %t.intsh.err %s 2675742410SDan Liew 271d62f4abSMichal Gorny# CHECK-INTSH-OUT: TIMEOUT: per_test_timeout :: infinite_loop.py 281d62f4abSMichal Gorny# CHECK-INTSH-OUT: command reached timeout: True 2975742410SDan Liew 3075742410SDan Liew# CHECK-INTSH-ERR: Using internal shell 3175742410SDan Liew 3275742410SDan Liew# Test per test timeout set via a config file rather than on the command line 3375742410SDan Liew# RUN: not %{lit} \ 3475742410SDan Liew# RUN: %{inputs}/shtest-timeout/infinite_loop.py \ 3575742410SDan Liew# RUN: -j 1 -v --debug --param external=0 \ 36*295d4e42SDan Liew# RUN: --param set_timeout=1 > %t.cfgset.out 2> %t.cfgset.err 3775742410SDan Liew# RUN: FileCheck --check-prefix=CHECK-OUT-COMMON < %t.cfgset.out %s 3875742410SDan Liew# RUN: FileCheck --check-prefix=CHECK-CFGSET-ERR < %t.cfgset.err %s 3975742410SDan Liew# 4075742410SDan Liew# CHECK-CFGSET-ERR: Using internal shell 4175742410SDan Liew 4275742410SDan Liew# CHECK-OUT-COMMON: TIMEOUT: per_test_timeout :: infinite_loop.py 43*295d4e42SDan Liew# CHECK-OUT-COMMON: Timeout: Reached timeout of 1 seconds 4499d6e05eSJulian Lettner# CHECK-OUT-COMMON: Timed Out: 1 4575742410SDan Liew 46*295d4e42SDan Liew 47*295d4e42SDan Liew############################################################################### 48*295d4e42SDan Liew# Check tests can complete in with a timeout set 49*295d4e42SDan Liew# 50*295d4e42SDan Liew# `short.py` should execute quickly so we shouldn't wait anywhere near the 51*295d4e42SDan Liew# 3600 second timeout. 52*295d4e42SDan Liew############################################################################### 53*295d4e42SDan Liew 54*295d4e42SDan Liew# Test per test timeout using external shell 55*295d4e42SDan Liew# RUN: %{lit} \ 56*295d4e42SDan Liew# RUN: %{inputs}/shtest-timeout/short.py \ 57*295d4e42SDan Liew# RUN: -j 1 -v --debug --timeout 3600 --param external=1 > %t.pass.extsh.out 2> %t.pass.extsh.err 58*295d4e42SDan Liew# RUN: FileCheck --check-prefix=CHECK-OUT-COMMON-SHORT < %t.pass.extsh.out %s 59*295d4e42SDan Liew# RUN: FileCheck --check-prefix=CHECK-EXTSH-ERR < %t.pass.extsh.err %s 60*295d4e42SDan Liew 61*295d4e42SDan Liew# Test per test timeout using internal shell 62*295d4e42SDan Liew# RUN: %{lit} \ 63*295d4e42SDan Liew# RUN: %{inputs}/shtest-timeout/short.py \ 64*295d4e42SDan Liew# RUN: -j 1 -v --debug --timeout 3600 --param external=0 > %t.pass.intsh.out 2> %t.pass.intsh.err 65*295d4e42SDan Liew# RUN: FileCheck --check-prefix=CHECK-OUT-COMMON-SHORT < %t.pass.intsh.out %s 66*295d4e42SDan Liew# RUN: FileCheck --check-prefix=CHECK-INTSH-ERR < %t.pass.intsh.err %s 67*295d4e42SDan Liew 68*295d4e42SDan Liew# CHECK-OUT-COMMON-SHORT: PASS: per_test_timeout :: short.py 69*295d4e42SDan Liew# CHECK-OUT-COMMON-SHORT: Passed: 1 70*295d4e42SDan Liew 7175742410SDan Liew# Test per test timeout via a config file and on the command line. 7275742410SDan Liew# The value set on the command line should override the config file. 73*295d4e42SDan Liew# RUN: %{lit} \ 7475742410SDan Liew# RUN: %{inputs}/shtest-timeout/short.py \ 7575742410SDan Liew# RUN: -j 1 -v --debug --param external=0 \ 76*295d4e42SDan Liew# RUN: --param set_timeout=1 --timeout=3600 > %t.pass.cmdover.out 2> %t.pass.cmdover.err 77*295d4e42SDan Liew# RUN: FileCheck --check-prefix=CHECK-OUT-COMMON-SHORT < %t.pass.cmdover.out %s 78*295d4e42SDan Liew# RUN: FileCheck --check-prefix=CHECK-CMDLINE-OVERRIDE-ERR < %t.pass.cmdover.err %s 7975742410SDan Liew 80*295d4e42SDan Liew# CHECK-CMDLINE-OVERRIDE-ERR: Forcing timeout to be 3600 seconds 81