Skip to content

Commit e68efe8

Browse files
committed
added github actions for various test cases in C
1 parent fd1454f commit e68efe8

2 files changed

Lines changed: 577 additions & 0 deletions

File tree

.github/workflows/test.yml

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
name: Integration Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- "**"
7+
pull_request:
8+
9+
jobs:
10+
test-filesystem-isolation:
11+
name: "Security: Filesystem Isolation (File Privacy)"
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- name: Setup Go
19+
uses: actions/setup-go@v5
20+
with:
21+
go-version-file: go.mod
22+
23+
- name: Install native dependencies
24+
run: |
25+
sudo apt-get update
26+
sudo apt-get install -y gcc libc6-dev
27+
28+
- name: Run filesystem isolation subtest
29+
env:
30+
ENABLE_QUEUE: "false"
31+
run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegration/file privacy across request IDs' ./...
32+
33+
test-disk-cleanup:
34+
name: "Security: Disk Cleanup (Storage Exhaustion)"
35+
runs-on: ubuntu-latest
36+
37+
steps:
38+
- name: Checkout
39+
uses: actions/checkout@v4
40+
41+
- name: Setup Go
42+
uses: actions/setup-go@v5
43+
with:
44+
go-version-file: go.mod
45+
46+
- name: Install native dependencies
47+
run: |
48+
sudo apt-get update
49+
sudo apt-get install -y gcc libc6-dev
50+
51+
- name: Run disk cleanup subtest
52+
env:
53+
ENABLE_QUEUE: "false"
54+
run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegration/disk spammer is terminated and data is reclaimed' ./...
55+
56+
test-fork-bomb:
57+
name: "Resource: Fork Bomb Containment"
58+
runs-on: ubuntu-latest
59+
60+
steps:
61+
- name: Checkout
62+
uses: actions/checkout@v4
63+
64+
- name: Setup Go
65+
uses: actions/setup-go@v5
66+
with:
67+
go-version-file: go.mod
68+
69+
- name: Install native dependencies
70+
run: |
71+
sudo apt-get update
72+
sudo apt-get install -y gcc libc6-dev
73+
74+
- name: Run fork bomb subtest
75+
env:
76+
ENABLE_QUEUE: "false"
77+
run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegration/fork bomb does not poison subsequent requests' ./...
78+
79+
test-network-isolation:
80+
name: "Security: Network Namespace (Localhost Bridge)"
81+
runs-on: ubuntu-latest
82+
83+
steps:
84+
- name: Checkout
85+
uses: actions/checkout@v4
86+
87+
- name: Setup Go
88+
uses: actions/setup-go@v5
89+
with:
90+
go-version-file: go.mod
91+
92+
- name: Install native dependencies
93+
run: |
94+
sudo apt-get update
95+
sudo apt-get install -y gcc libc6-dev
96+
97+
- name: Run network isolation subtest
98+
env:
99+
ENABLE_QUEUE: "false"
100+
run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegration/network namespace blocks localhost bridge' ./...
101+
102+
test-memory-oom:
103+
name: "Security: Memory Limit (Hard OOM)"
104+
runs-on: ubuntu-latest
105+
106+
steps:
107+
- name: Checkout
108+
uses: actions/checkout@v4
109+
110+
- name: Setup Go
111+
uses: actions/setup-go@v5
112+
with:
113+
go-version-file: go.mod
114+
115+
- name: Install native dependencies
116+
run: |
117+
sudo apt-get update
118+
sudo apt-get install -y gcc libc6-dev
119+
120+
- name: Run memory OOM subtest
121+
env:
122+
ENABLE_QUEUE: "false"
123+
run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegration/memory hard limit triggers oom kill' ./...

0 commit comments

Comments
 (0)