File: task.yaml

package info (click to toggle)
snapd 2.71-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 79,536 kB
  • sloc: ansic: 16,114; sh: 16,105; python: 9,941; makefile: 1,890; exp: 190; awk: 40; xml: 22
file content (33 lines) | stat: -rw-r--r-- 1,196 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
summary: Make sure we can generate core dumps on UC

details: |
  Check it is possible to generate core dumps on UC. Make sure that dumps
  are produced in little time in a place writable from snap context.

execute: |
  # To get VERSION_ID defined
  . /etc/os-release
  cp -r "$TESTSLIB"/snaps/core-dump-snap .
  core_dump_d=core-dump-snap
  if [ "$VERSION_ID" = 16 ]; then
      sed -i '/base: ##BASE##/d' "$core_dump_d"/meta/snap.yaml
  else
      BASE=core"$VERSION_ID"
      sed -i "s/##BASE##/$BASE/" "$core_dump_d"/meta/snap.yaml
  fi

  # Install snap with a service that simply waits
  DUMP_SNAP_FILE=core-dump-snap.snap
  snap pack "$core_dump_d" --filename="$DUMP_SNAP_FILE"
  snap install --dangerous "$DUMP_SNAP_FILE"

  # Allow suid programs like snap-confine to produce a core dump
  echo 1 > /proc/sys/fs/suid_dumpable
  # Make sure that dumps are produced in a place writable from snap context
  echo "/tmp/core.%p" > /proc/sys/kernel/core_pattern

  CRASH_PID=$(retry --wait 1 -n 5 pgrep crash.sh)
  kill -ABRT "$CRASH_PID"

  # A core dump file should be generated in little time
  retry --wait 1 -n 5 sh -c "stat /tmp/snap-private-tmp/snap.core-dump-snap/tmp/core.$CRASH_PID"