Skip to content

Commit f424665

Browse files
Burak Bayırkriptoburak
andauthored
test: expose Jazzer fuzzing and require code owners (#27)
* ci: require code owner review Signed-off-by: kriptoburak <kriptoburak@users.noreply.github.com> * docs: license code owner policy Signed-off-by: kriptoburak <kriptoburak@users.noreply.github.com> * test: expose Jazzer fuzzing to Scorecard Signed-off-by: kriptoburak <kriptoburak@users.noreply.github.com> --------- Signed-off-by: kriptoburak <kriptoburak@users.noreply.github.com> Co-authored-by: kriptoburak <kriptoburak@users.noreply.github.com>
1 parent fa76285 commit f424665

5 files changed

Lines changed: 34 additions & 1 deletion

File tree

.github/CODEOWNERS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-FileCopyrightText: 2026 Xquik Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
* @kriptoburak @furkanerday

buildSrc/src/main/kotlin/x-twitter-scraper.java.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ tasks.withType<JavaCompile>().configureEach {
3232
options.release.set(8)
3333
}
3434

35+
tasks.named<JavaCompile>("compileTestJava") {
36+
// Tests use Java 26 dependencies and never enter published artifacts.
37+
options.release.set(26)
38+
}
39+
3540
tasks.withType<Zip>().configureEach {
3641
isPreserveFileTimestamps = false
3742
isReproducibleFileOrder = true

buildSrc/src/main/kotlin/x-twitter-scraper.kotlin.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
66
import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode
77
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
8+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
89

910
plugins {
1011
id("x-twitter-scraper.java")
@@ -42,6 +43,13 @@ tasks.withType<Test>().configureEach {
4243
inputs.property("skipMockTests", System.getenv("SKIP_MOCK_TESTS")).optional(true)
4344
}
4445

46+
tasks.named<KotlinCompile>("compileTestKotlin") {
47+
compilerOptions {
48+
freeCompilerArgs.set(emptyList())
49+
jvmTarget.set(JvmTarget.JVM_26)
50+
}
51+
}
52+
4553
val ktfmt = configurations.create("ktfmt")
4654
dependencies {
4755
ktfmt("com.facebook:ktfmt:0.64")
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// SPDX-FileCopyrightText: 2026 Xquik contributors
2+
//
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
package com.x_twitter_scraper.api.core.http;
6+
7+
import com.code_intelligence.jazzer.api.FuzzedDataProvider;
8+
9+
final class RetryAfterFuzzInput {
10+
11+
private RetryAfterFuzzInput() {}
12+
13+
static String consume(FuzzedDataProvider data) {
14+
return data.consumeRemainingAsString();
15+
}
16+
}

x-twitter-scraper-java-core/src/test/kotlin/com/x_twitter_scraper/api/core/http/RetryAfterFuzzTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ internal class RetryAfterFuzzTest {
1616

1717
@FuzzTest(maxDuration = "30s")
1818
fun retryAfterDelayRemainsBounded(data: FuzzedDataProvider) {
19-
val retryAfter = data.consumeRemainingAsString()
19+
val retryAfter = RetryAfterFuzzInput.consume(data)
2020
val sleeper = RecordingRetrySleeper()
2121
val transport =
2222
SequenceHttpClient(

0 commit comments

Comments
 (0)