ucb-bar / berkeley-hardfloat

Other
287 stars 87 forks source link

Update testing infrastructure from chisel 2 to 3. #30

Closed grebe closed 5 years ago

grebe commented 5 years ago

This requires updates to the test harness, as well as to the driver. Use verilator for tests. Tests run but are currently failing and I'm not sure why.

grebe commented 5 years ago

@ucbjrl, I imagine this may interfere with testing. Does the testing environment have verilator on the path by default?

ucbjrl commented 5 years ago

Jenkins does have verilator on the PATH.

ucbjrl commented 5 years ago

Fantastic @grebe! You can't imagine how much I was dreading having to do this.

aswaterman commented 5 years ago

Are you planning on figuring out why tests are failing and fix them? Or are you saying the same tests were also failing before?

grebe commented 5 years ago

I want to figure out why the are failing and try to fix them- I didn't run them before, but I assume they were passing.

grebe commented 5 years ago

I think the most likely culprit is that I'm not processing inputs correctly. Tests currently have a vector of inputs, whereas I refer to them directly. I've tried to be careful but it's possible some input isn't getting set for some of the tests.

grebe commented 5 years ago

Now 432/500 tests passing. All the failing tests are test-c-DivSqrtRecFN_small_*.

grebe commented 5 years ago

All tests passing for me now!

aswaterman commented 5 years ago

Nice work @grebe. I'll get in touch with JohnH about this

aswaterman commented 5 years ago

Following the directions in the readme (simply running 'make') is failing for me. Any insight into the below?

$ make
sbt -Dchisel3Version=3.2-SNAPSHOT "run f16FromRecF16 -td test-f16FromRecF16"
[info] Set current project to hardfloat (in build file:/scratch/waterman/rocket-chip/hardfloat/)
Error wrapping InputStream in GZIPInputStream: java.util.zip.ZipException: Not in GZIP format
  at sbt.ErrorHandling$.translate(ErrorHandling.scala:10)
  at sbt.WrapUsing.open(Using.scala:34)
  at sbt.Using.apply(Using.scala:23)
  at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:863)
  at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:862)
  at sbt.Using.apply(Using.scala:24)
  at sbt.IO$.gzipFileIn(IO.scala:862)
  at sbt.Sync$.readUncaught(Sync.scala:88)
  at sbt.Sync$.readInfo(Sync.scala:84)
  at sbt.Sync$$anonfun$apply$1.apply(Sync.scala:28)
  at sbt.Sync$$anonfun$apply$1.apply(Sync.scala:22)
  at sbt.Defaults$$anonfun$copyResourcesTask$1.apply(Defaults.scala:922)
  at sbt.Defaults$$anonfun$copyResourcesTask$1.apply(Defaults.scala:918)
  at scala.Function4$$anonfun$tupled$1.apply(Function4.scala:35)
  at scala.Function4$$anonfun$tupled$1.apply(Function4.scala:34)
  at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
  at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
  at sbt.std.Transform$$anon$4.work(System.scala:63)
  at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
  at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
  at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
  at sbt.Execute.work(Execute.scala:237)
  at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
  at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
  at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
  at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.zip.ZipException: Not in GZIP format
  at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:165)
  at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79)
  at sbt.Using$$anonfun$gzipInputStream$1.apply(Using.scala:84)
  at sbt.Using$$anonfun$gzipInputStream$1.apply(Using.scala:84)
  at sbt.Using$$anon$1.openImpl(Using.scala:51)
  at sbt.WrapUsing$$anonfun$open$2.apply(Using.scala:34)
  at sbt.ErrorHandling$.translate(ErrorHandling.scala:10)
  at sbt.WrapUsing.open(Using.scala:34)
  at sbt.Using.apply(Using.scala:23)
  at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:863)
  at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:862)
  at sbt.Using.apply(Using.scala:24)
  at sbt.IO$.gzipFileIn(IO.scala:862)
  at sbt.Sync$.readUncaught(Sync.scala:88)
  at sbt.Sync$.readInfo(Sync.scala:84)
  at sbt.Sync$$anonfun$apply$1.apply(Sync.scala:28)
  at sbt.Sync$$anonfun$apply$1.apply(Sync.scala:22)
  at sbt.Defaults$$anonfun$copyResourcesTask$1.apply(Defaults.scala:922)
  at sbt.Defaults$$anonfun$copyResourcesTask$1.apply(Defaults.scala:918)
  at scala.Function4$$anonfun$tupled$1.apply(Function4.scala:35)
  at scala.Function4$$anonfun$tupled$1.apply(Function4.scala:34)
  at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
  at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
  at sbt.std.Transform$$anon$4.work(System.scala:63)
  at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
  at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
  at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
  at sbt.Execute.work(Execute.scala:237)
  at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
  at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
  at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
  at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
[error] (compile:copyResources) Error wrapping InputStream in GZIPInputStream: java.util.zip.ZipException: Not in GZIP format
[error] Total time: 1 s, completed Feb 22, 2019 2:14:27 PM
Makefile:324: recipe for target 'test-f16FromRecF16/ValExec_f16FromRecF16.v' failed
make: *** [test-f16FromRecF16/ValExec_f16FromRecF16.v] Error 1
grebe commented 5 years ago

Perhaps you're running into this? If you blow away target, does it work?

Perhaps the sbt on your path is 0.13.x

aswaterman commented 5 years ago

Thanks, that was it!