Skip to content

Commit 71c95fc

Browse files
authored
feat: make random seek configurable in fuzz-testing (#1401)
1 parent a4c6c12 commit 71c95fc

File tree

1 file changed

+12
-2
lines changed
  • fuzz-testing/src/main/scala/org/apache/comet/fuzz

1 file changed

+12
-2
lines changed

fuzz-testing/src/main/scala/org/apache/comet/fuzz/Main.scala

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ class Conf(arguments: Seq[String]) extends ScallopConf(arguments) {
3333
val numFiles: ScallopOption[Int] =
3434
opt[Int](required = true, descr = "Number of files to generate")
3535
val numRows: ScallopOption[Int] = opt[Int](required = true, descr = "Number of rows per file")
36+
val randomSeed: ScallopOption[Long] =
37+
opt[Long](required = false, descr = "Random seed to use")
3638
val generateArrays: ScallopOption[Boolean] =
3739
opt[Boolean](required = false, descr = "Whether to generate arrays")
3840
val generateStructs: ScallopOption[Boolean] =
@@ -48,6 +50,8 @@ class Conf(arguments: Seq[String]) extends ScallopConf(arguments) {
4850
opt[Int](required = false, descr = "Number of input files to use")
4951
val numQueries: ScallopOption[Int] =
5052
opt[Int](required = true, descr = "Number of queries to generate")
53+
val randomSeed: ScallopOption[Long] =
54+
opt[Long](required = false, descr = "Random seed to use")
5155
}
5256
addSubcommand(generateQueries)
5357
object runQueries extends Subcommand("run") {
@@ -67,11 +71,13 @@ object Main {
6771
.getOrCreate()
6872

6973
def main(args: Array[String]): Unit = {
70-
val r = new Random(42)
71-
7274
val conf = new Conf(args.toIndexedSeq)
7375
conf.subcommand match {
7476
case Some(conf.generateData) =>
77+
val r = conf.generateData.randomSeed.toOption match {
78+
case Some(seed) => new Random(seed)
79+
case None => new Random()
80+
}
7581
val options = DataGenOptions(
7682
allowNull = true,
7783
generateArray = conf.generateData.generateArrays(),
@@ -87,6 +93,10 @@ object Main {
8793
options)
8894
}
8995
case Some(conf.generateQueries) =>
96+
val r = conf.generateQueries.randomSeed.toOption match {
97+
case Some(seed) => new Random(seed)
98+
case None => new Random()
99+
}
90100
QueryGen.generateRandomQueries(
91101
r,
92102
spark,

0 commit comments

Comments
 (0)