podman

Форк
0
/
01-basic.at 
89 строк · 2.7 Кб
1
# -*- sh -*-
2
#
3
# The earliest most basic tests. If any of these fail, life is bad
4
#
5

6
# NOTE: paths with a leading slash will be interpreted as-is;
7
#       paths without will have '/v1.40/' prepended.
8
t GET  /_ping        200 OK
9
t HEAD /_ping        200
10
t GET  /libpod/_ping 200 OK
11
t HEAD /libpod/_ping 200
12

13
t GET  _ping        200 OK
14
like "$(<$WORKDIR/curl.headers.out)" $'.*\nOstype: ' "#19767 - undocumented part of docker API"
15
t HEAD _ping        200
16
t GET  libpod/_ping 200 OK
17
t HEAD libpod/_ping 200
18

19
for i in /version version; do
20
    t GET  $i      200                               \
21
      .Components[0].Name="Podman Engine"            \
22
      .Components[0].Details.APIVersion~5[0-9.-]\\+  \
23
      .Components[0].Details.MinAPIVersion=4.0.0     \
24
      .Components[0].Details.Os=linux                \
25
      .ApiVersion=1.41                               \
26
      .MinAPIVersion=1.24                            \
27
      .Os=linux
28
done
29

30
#
31
# Garbage tests - requests that should yield errors
32
#
33
t GET  /nonesuch                       404
34
t POST /nonesuch                       404
35
t GET  container/nonesuch/json         404
36
t GET  libpod/containers/nonesuch/json 404
37

38
#### FIXME: maybe someday: t GET 'libpod/containers/json?a=b'     400
39

40
# Method not allowed
41
t POST   /_ping                    405
42
t DELETE /_ping                    405
43
t POST   libpod/containers/json    405
44
t POST   libpod/pods/abc           405
45
t POST   info                      405
46
t GET    libpod/containers/create  405
47

48
#
49
# system info
50
#
51
# Some day perhaps it will always be runc; for now, cgroupsv2 requires crun
52
#
53
# FIXME: run 'podman info --format=json', and compare select fields
54
runtime=runc
55
if have_cgroupsv2; then
56
    runtime=crun
57
fi
58
t GET info 200                \
59
  .OSType=linux               \
60
  .DefaultRuntime~.*$runtime  \
61
  .MemTotal~[0-9]\\+
62

63
# Timing: make sure server stays responsive.
64
# Because /info may need to check storage, it may be slow the first time.
65
# Let's invoke it once to prime caches, then run ten queries in a timed loop.
66
t GET info 200
67
t0=$SECONDS
68
for i in $(seq 1 10); do
69
    # FIXME: someday: refactor t(), separate out the 'curl' logic so we
70
    #        can call it directly. Then we won't get ten annoying 'ok' lines.
71
    t GET info 200
72
done
73
t1=$SECONDS
74
delta_t=$((t1 - t2))
75

76
# Desired number of seconds in which we expect to run.
77
# FIXME: 10 seconds is a lot! PR #8076 opened to investigate why.
78
want=10
79
if [ $delta_t -le $want ]; then
80
    _show_ok 1 "Time for ten /info requests ($delta_t seconds) <= ${want}s"
81
else
82
    _show_ok 0 "Time for ten /info requests" "<= $want seconds" "$delta_t seconds"
83
fi
84

85
# Simple events test (see #7078)
86
t GET "events?stream=false&since=30s"  200
87
t GET "libpod/events?stream=false&since=30s"  200
88

89
# vim: filetype=sh
90

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.