Skip to content

Commit e79bb2f

Browse files
committed
test: stabilize CI by splitting live relay coverage tags
1 parent af7bd5d commit e79bb2f

4 files changed

Lines changed: 20 additions & 5 deletions

File tree

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,9 @@ mix test.integration
438438
```
439439

440440
- `mix ci` runs formatting, Credo, and non-integration tests
441-
- `mix test.integration` runs the integration suite
441+
- `mix test.integration` runs the deterministic integration suite (excludes `:public_relay_live` tests)
442+
- run live public-relay coverage explicitly with:
443+
`mix test --include integration --include public_relay_live`
442444

443445
### Local relay TLS
444446

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ defmodule MOQX.MixProject do
6868
defp aliases do
6969
[
7070
ci: ["format --check-formatted", "credo --strict", "test --exclude integration"],
71-
"test.integration": ["test --only integration"]
71+
"test.integration": ["test --only integration --exclude public_relay_live"]
7272
]
7373
end
7474
end

test/moqx_integration_test.exs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ defmodule MOQXIntegrationTest do
33

44
alias MOQX.Debug
55

6-
@moduletag :integration
76
@timeout 15_000
87

98
# Integration relay tests can use MOQX_EXTERNAL_RELAY_URL,
@@ -94,6 +93,7 @@ defmodule MOQXIntegrationTest do
9493
end
9594

9695
describe "integration relay: connect" do
96+
@tag :integration
9797
test "subscriber connects and reports draft-14 version" do
9898
subscriber = connect_subscriber!()
9999

@@ -105,6 +105,7 @@ defmodule MOQXIntegrationTest do
105105
end
106106
end
107107

108+
@tag :integration
108109
test "publisher connects" do
109110
publisher = connect_publisher!()
110111

@@ -117,6 +118,7 @@ defmodule MOQXIntegrationTest do
117118
end
118119

119120
describe "integration relay: subscribe" do
121+
@tag :public_relay_live
120122
test "subscribe to catalog track delivers a valid CMSF catalog" do
121123
subscriber = connect_subscriber!()
122124

@@ -135,6 +137,7 @@ defmodule MOQXIntegrationTest do
135137
end
136138
end
137139

140+
@tag :public_relay_live
138141
test "subscribe/4 accepts delivery_timeout_ms and still receives catalog" do
139142
subscriber = connect_subscriber!()
140143

@@ -154,6 +157,7 @@ defmodule MOQXIntegrationTest do
154157
end
155158
end
156159

160+
@tag :public_relay_live
157161
test "subscribe to a video track delivers live frames" do
158162
subscriber = connect_subscriber!()
159163

@@ -185,6 +189,7 @@ defmodule MOQXIntegrationTest do
185189
end
186190
end
187191

192+
@tag :public_relay_live
188193
test "video frames expose PRFT for latency estimation" do
189194
subscriber = connect_subscriber!()
190195

@@ -220,6 +225,7 @@ defmodule MOQXIntegrationTest do
220225
end
221226
end
222227

228+
@tag :public_relay_live
223229
test "multiple concurrent subscriptions deliver interleaved frames" do
224230
subscriber = connect_subscriber!()
225231

@@ -253,6 +259,7 @@ defmodule MOQXIntegrationTest do
253259
end
254260

255261
describe "integration relay: pub/sub e2e" do
262+
@tag :integration
256263
test "publisher frame is received by subscriber on same relay" do
257264
publisher = connect_publisher!()
258265
subscriber = connect_subscriber!()
@@ -282,6 +289,7 @@ defmodule MOQXIntegrationTest do
282289
end
283290

284291
describe "integration relay: role guardrails" do
292+
@tag :integration
285293
test "publish rejects subscriber sessions" do
286294
subscriber = connect_subscriber!()
287295

@@ -293,6 +301,7 @@ defmodule MOQXIntegrationTest do
293301
end
294302
end
295303

304+
@tag :integration
296305
test "subscribe rejects publisher sessions" do
297306
publisher = connect_publisher!()
298307

@@ -304,6 +313,7 @@ defmodule MOQXIntegrationTest do
304313
end
305314
end
306315

316+
@tag :integration
307317
test "fetch rejects publisher sessions" do
308318
publisher = connect_publisher!()
309319

@@ -315,6 +325,7 @@ defmodule MOQXIntegrationTest do
315325
end
316326
end
317327

328+
@tag :integration
318329
test "fetch_catalog rejects publisher sessions" do
319330
publisher = connect_publisher!()
320331

@@ -327,6 +338,7 @@ defmodule MOQXIntegrationTest do
327338
end
328339

329340
describe "integration relay: catalog-driven flow" do
341+
@tag :public_relay_live
330342
test "full catalog-driven subscribe: connect, catalog, decode, subscribe video" do
331343
subscriber = connect_subscriber!()
332344

test/test_helper.exs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# Integration tests are tagged and excluded by default.
2-
# Use `mix test --include integration` to opt in.
3-
ExUnit.start(exclude: [integration: true])
2+
# Use `mix test --include integration` and/or
3+
# `mix test --include public_relay_live` to opt in.
4+
ExUnit.start(exclude: [integration: true, public_relay_live: true])

0 commit comments

Comments
 (0)