fix(quartz): drop the commas Kotlin/Native will not take in a test name

`:quartz:compileTestKotlinLinuxX64` and `compileTestKotlinIosSimulatorArm64`
both fail with `Name contains illegal characters: ","`. A backtick-quoted
identifier may hold a comma on the JVM and may not on Native, and these are
`commonTest`, so they build for every target. Sixteen names across seven
cordn/contextvm test files, all of which arrived with #4201 and none of which
had ever been compiled for a native target.

Reworded rather than stripped: "a failed negotiation, not a downgrade" becomes
"rather than a downgrade" and the three "needs kind N, an e tag, and text"
names become "with an e tag and text", so each still reads as the sentence it
was. Hyphens and apostrophes are fine on Native and are left alone.

Checked the whole of commonTest for the rest of the illegal set as well
(. ; : [ ] / < > \) — the commas were all of it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vitor Pamplona
2026-09-26 15:59:18 -04:00
co-authored by Claude Opus 5
parent 333d305c1a
commit 69c2feab3a
7 changed files with 16 additions and 16 deletions
@@ -184,7 +184,7 @@ class PaymentTest {
}
@Test
fun `CVM-8-22 a server that ignores the request is a failed negotiation, not a downgrade`() {
fun `CVM-8-22 a server that ignores the request is a failed negotiation rather than a downgrade`() {
val session = PaymentSession(requested = PaymentInteraction.EXPLICIT_GATING)
session.observeServerTags(emptyArray())
assertTrue(session.negotiationFailed, "silent fallback must be visible to the caller")
@@ -76,7 +76,7 @@ class OversizedTransferTest {
}
@Test
fun `CVM-22-02 assembles out-of-order chunks by progress, not arrival order`() {
fun `CVM-22-02 assembles out-of-order chunks by progress rather than arrival order`() {
// Relays may reorder. `progress` is the canonical assembly index.
val frames = sender().frame(token, payload)
val start = frames.first()
@@ -43,7 +43,7 @@ class CvmMessageEventTest {
private val ping = JsonRpcRequest(JsonRpcId.Num(1), "ping")
@Test
fun `CVM-CORE-02 content is a stringified JSON-RPC message, not an embedded object`() {
fun `CVM-CORE-02 content is a stringified JSON-RPC message rather than an embedded object`() {
val template = CvmMessageEvent.build(ping, serverPubKey)
// The spec's examples print `content` unstringified for readability,
@@ -91,7 +91,7 @@ class CvmMessageEventTest {
}
@Test
fun `CVM-CORE-06 kind 25910 is ephemeral, so delivery has no replay`() {
fun `CVM-CORE-06 kind 25910 is ephemeral so delivery has no replay`() {
// Consequence, not decoration: relays do not retain this kind, so a
// subscription must be live before the peer publishes. The transport's
// request API is built around this and the property is worth pinning.
@@ -44,7 +44,7 @@ class CordnBlobUploadTest {
private val sealed = CordnMediaEncryption.encrypt(file, key, "image/jpeg", "holiday.jpg")
@Test
fun `the host is given the ciphertext, and its hash names the blob`() {
fun `the host is given the ciphertext and its hash names the blob`() {
val blob = CordnBlobUpload.of(sealed)
// Blossom addresses a blob by the hash of what it stores.
@@ -65,7 +65,7 @@ class CordnBlobUploadTest {
}
@Test
fun `the declared type is opaque, never the real one`() {
fun `the declared type is opaque rather than the real one`() {
val blob = CordnBlobUpload.of(sealed)
assertEquals("application/octet-stream", blob.contentType)
@@ -93,7 +93,7 @@ class CordnBlobUploadTest {
}
@Test
fun `upload, never the media endpoint`() {
fun `upload rather than the media endpoint`() {
// `/media` asks the server to re-encode. Re-encoding ciphertext
// destroys it, so an account with "optimize uploads" on would break
// every attachment and only the recipient would find out.
@@ -69,7 +69,7 @@ class CordnMediaEncryptionTest {
}
@Test
fun `renaming a file breaks it, because the name is authenticated`() {
fun `renaming a file breaks it because the name is authenticated`() {
val sealed = roundTrip(name = "photo.jpg")
assertFailsWith<Exception> {
@@ -180,7 +180,7 @@ class CordnMediaEncryptionTest {
}
@Test
fun `the display hints round-trip, including the waveform`() {
fun `the display hints round-trip including the waveform`() {
// The recorder measures amplitudes and the composer preview already
// draws them; without somewhere to put them they were dropped at upload
// and the sender's own voice note came back bar-less.
@@ -207,7 +207,7 @@ class CordnMediaEncryptionTest {
}
@Test
fun `a hint that is absent or malformed costs the hint, not the attachment`() {
fun `a hint that is absent or malformed costs the hint rather than the attachment`() {
// Every one of these is optional, so a reader that cannot make sense of
// one must still be able to fetch and open the file.
val tag = CordnMediaTag.build(roundTrip(), url = "https://b.example.com/b")
@@ -73,7 +73,7 @@ class CordnAnnotationIndexTest {
}
@Test
fun `only the author may edit, and the newest edit wins`() {
fun `only the author may edit and the newest edit wins`() {
val note = message(alice, CordnMessageKinds.TEXT, "original", createdAt = 100)
val tags = CordnMessageReferences.editTags(note.asTarget())
@@ -177,7 +177,7 @@ class CordnAnnotationIndexTest {
}
@Test
fun `any member may pin, and the last write wins`() {
fun `any member may pin and the last write wins`() {
val note = message(alice, CordnMessageKinds.TEXT, "important", createdAt = 100)
val t = note.asTarget()
@@ -64,7 +64,7 @@ class CordnMessageKindsTest {
}
@Test
fun `the numbers are cordn-web's, and differ from Marmot's on purpose`() {
fun `the numbers are cordn-web's and differ from Marmot's on purpose`() {
// Pinned because they are the interop surface with the only other cordn
// client, and because two of them disagree with Marmot (1009 edit, no
// pin) by decision rather than accident.
@@ -170,7 +170,7 @@ class CordnMessageKindsTest {
// ---- inbound -------------------------------------------------------
@Test
fun `a reaction needs kind 7, e p k, and content`() {
fun `a reaction needs kind 7 with e p k and content`() {
val good = CordnMessageReferences.reactionTags(target())
assertNotNull(CordnMessageReferences.reaction(7, "+", good))
@@ -210,7 +210,7 @@ class CordnMessageKindsTest {
}
@Test
fun `an edit needs kind 1010, an e tag, and text`() {
fun `an edit needs kind 1010 with an e tag and text`() {
val tags = CordnMessageReferences.editTags(target())
assertEquals("1".repeat(64), assertNotNull(CordnMessageReferences.edit(1010, "new", tags)).targetId)
@@ -230,7 +230,7 @@ class CordnMessageKindsTest {
}
@Test
fun `a pin needs kind 1011, an e tag, and a known op`() {
fun `a pin needs kind 1011 with an e tag and a known op`() {
assertEquals(
PinOp.ADD,
assertNotNull(CordnMessageReferences.pin(1011, CordnMessageReferences.pinTags(target(), PinOp.ADD))).op,