cucapra/dahlia

Tests failing out of the box

Closed this issue · 3 comments

Trying to run tests, but getting errors out of the box:

[info] RunTests:                                                                                                                                                                         
[info] - src/test/should-run/matadd.fuse *** FAILED *** (45 milliseconds)                                                                                                                
[info]   fuselang.CompilerError$HeaderMissing: Header json.hpp is missing from location src                                                                                              
/main/resources/headers.                                                                                                                                                                 
[info]   at fuselang.GenerateExec$.$anonfun$generateExec$1(GenerateExec.scala:55)                                                                                                        
[info]   at fuselang.GenerateExec$.$anonfun$generateExec$1$adapted(GenerateExec.scala:53)                                                                                                
[info]   at scala.collection.immutable.List.foreach(List.scala:392)                                                                                                                      
[info]   at fuselang.GenerateExec$.generateExec(GenerateExec.scala:53)                                                                                                                   
[info]   at fuselang.Main$.$anonfun$runWithConfig$4(Main.scala:79)                                                                                                                       
[info]   at scala.util.Either.flatMap(Either.scala:341)                                                                                                                                  
[info]   at fuselang.Main$.runWithConfig(Main.scala:77)                                                                                                                                  
[info]   at fuselang.AsyncRun$.$anonfun$compileAndEval$1(RunTests.scala:38)                                                                                                              
[info]   at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:658)                                                                                                                  
[info]   at scala.util.Success.$anonfun$map$1(Try.scala:255)                                                                                                                             
[info]   ...                                                                                                                                                                             

reproduce:

➜  ~ git clone https://github.com/cucapra/seashell tmp                                                                                                                                   
Cloning into 'tmp'...                                                                                                                                                                    
remote: Enumerating objects: 70, done.                                                                                                                                                   
remote: Counting objects: 100% (70/70), done.                                                                                                                                            
remote: Compressing objects: 100% (53/53), done.                                                                                                                                         
remote: Total 8223 (delta 33), reused 40 (delta 17), pack-reused 8153                                                                                                                    
Receiving objects: 100% (8223/8223), 3.20 MiB | 6.29 MiB/s, done.                                                                                                                        
Resolving deltas: 100% (5302/5302), done.                                                                                                                                                
➜  ~ cd tmp                                                                                                                                                                              
➜  tmp git:(master) sbt compile                                                                                                                                                          
[info] Loading settings for project tmp-build from assembly.sbt ...                                                                                                                      
[info] Loading project definition from /home/gussmith/tmp/project                                                                                                                        
[info] Loading settings for project tmp from build.sbt ...                                                                                                                               
[info] Set current project to Fuse (in build file:/home/gussmith/tmp/)                                                                                                                   
[info] Executing in batch mode. For better performance use sbt's shell                                                                                                                   
[info] Updating ...                                                                                                                                                                      
[info] Done updating.                                                                                                                                                                    
[info] Compiling 27 Scala sources to /home/gussmith/tmp/target/scala-2.12/classes ...                                                                                                    
[info] Done compiling.                                                                                                                                                                   
WARNING: An illegal reflective access operation has occurred                                                                                                                             
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/home/gussmith/.                                                                                              
sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.8/protobuf-java-3.3.1.jar) to field java.nio.Bu                                                                                              
ffer.address                                                                                                                                                                             
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUti                                                                                              
l                                                                                                                                                                                        
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access                                                                                               
operations                                                                                                                                                                               
WARNING: All illegal access operations will be denied in a future release                                                                                                                
[success] Total time: 9 s, completed Jun 24, 2019, 6:16:25 PM                                                                                                                            
➜  tmp git:(master) sbt test                                                                                                                                                             
[info] Loading settings for project tmp-build from assembly.sbt ...                                                                                                                      
[info] Loading project definition from /home/gussmith/tmp/project                                                                                                                        
[info] Loading settings for project tmp from build.sbt ...                                                                                                                               
[info] Set current project to Fuse (in build file:/home/gussmith/tmp/)                                                                                                                   
[info] Compiling 5 Scala sources to /home/gussmith/tmp/target/scala-2.12/test-classes ...                                                                                                
[info] Done compiling.                                                                                                                                                                   
WARNING: An illegal reflective access operation has occurred                                                                                                                             
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/home/gussmith/.                                                                                              
sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.8/protobuf-java-3.3.1.jar) to field java.nio.Bu                                                                                              
ffer.address                                                                                                                                                                             
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUti                                                                                              
l                                                                                                                                                                                        
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access                                                                                               
operations                                                                                                                                                                               
WARNING: All illegal access operations will be denied in a future release                                                                                                                
[info] FileTypeNegative:                                                                                                                                                                 
[info] - src/test/should-fail/combine.fuse (110 milliseconds)                                                                                                                            
[info] - src/test/should-fail/multiwrite.fuse (8 milliseconds)                                                                                                                           
[info] - src/test/should-fail/unroll-without-banks.fuse (5 milliseconds)                                                                                                                 
[info] - src/test/should-fail/matrix-multiply.fuse (7 milliseconds)                                                                                                                      
[info] - src/test/should-fail/insufficient-banks.fuse (3 milliseconds)                                                                                                                   
[info] ParsingTests:                                                                                                                                                                     
[info] - numbers (2 milliseconds)                                                                                                                                                        
[info] - atoms (1 millisecond)                                                                                                                                                           
[info] - comments (1 millisecond)                                                                                                                                                        
[info] - binops (6 milliseconds)                                                                                                                                                         
[info] - binop precedence order (4 milliseconds)                                                                                                                                         
[info] - if (3 milliseconds)                                                                                                                                                             
[info] - decl (1 millisecond)                                                                                                                                                            
[info] - let (2 milliseconds)                                                                                                                                                            
[info] - for loop (2 milliseconds)                                                                                                                                                       
[info] - while loop (3 milliseconds)                                                                                                                                                     
[info] - combiner syntax (3 milliseconds)                                                                                                                                                
[info] - refresh banks (2 milliseconds)                                                                                                                                                  
[info] - commands (2 milliseconds)                                                                                                                                                       
[info] - functions (2 milliseconds)                                                                                                                                                      
[info] - external functions (2 milliseconds)                                                                                                                                             
[info] - records definitions (2 milliseconds)                                                                                                                                            
[info] - record literals (1 millisecond)                                                                                                                                                 
[info] - array literals (1 millisecond)                                                                                                                                                  
[info] - records access (2 milliseconds)                                                                                                                                                 
[info] - imports (1 millisecond)                                                                                                                                                         
[info] - simple views (8 milliseconds)                                                                                                                                                   
[info] - split views (1 millisecond)                                                                                                                                                     
[info] - casting (1 millisecond)                                                                                                                                                         
[info] - casting (1 millisecond)                                                                                                                                                         
[info] FileTypePositive:                                                                                                                                                                 
[info] - src/test/should-compile/matadd.fuse (35 milliseconds)                                                                                                                           
[info] - src/test/should-compile/general-matrix-multiply-one-unroll.fuse (8 milliseconds)                                                                                                
[info] - src/test/should-compile/vsadd.fuse (4 milliseconds)                                                                                                                             
[info] - src/test/should-compile/function.fuse (4 milliseconds)                                                                                                                          
[info] - src/test/should-compile/fully-unrolled-matrix-vector-mul.fuse (5 milliseconds)                                                                                                  
[info] - src/test/should-compile/vvadd.fuse (4 milliseconds)                                                                                                                             
[info] RunTests:                                                                                                                                                                         
[info] - src/test/should-run/matadd.fuse *** FAILED *** (35 milliseconds)                                                                                                                
[info]   fuselang.CompilerError$HeaderMissing: Header json.hpp is missing from location src                                                                                              
/main/resources/headers.                                                                                                                                                                 
[info]   at fuselang.GenerateExec$.$anonfun$generateExec$1(GenerateExec.scala:55)                                                                                                        
[info]   at fuselang.GenerateExec$.$anonfun$generateExec$1$adapted(GenerateExec.scala:53)                                                                                                
[info]   at scala.collection.immutable.List.foreach(List.scala:392)                                                                                                                      
[info]   at fuselang.GenerateExec$.generateExec(GenerateExec.scala:53)                                                                                                                   
[info]   at fuselang.Main$.$anonfun$runWithConfig$4(Main.scala:79)                                                                                                                       
[info]   at scala.util.Either.flatMap(Either.scala:341)                                                                                                                                  
[info]   at fuselang.Main$.runWithConfig(Main.scala:77)                                                                                                                                  
[info]   at fuselang.AsyncRun$.$anonfun$compileAndEval$1(RunTests.scala:38)                                                                                                              
[info]   at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:658)                                                                                                                  
[info]   at scala.util.Success.$anonfun$map$1(Try.scala:255)                                                                                                                             
[info]   ...                                                                                                                                                                             
[info] - src/test/should-run/dot-product-with-array-literal.fuse *** FAILED *** (8 millisec                                                                                              
onds)                                                                                                                                                                                    
[info]   fuselang.CompilerError$HeaderMissing: Header json.hpp is missing from location src                                                                                              
/main/resources/headers.                                                                                                                                                                 
[info]   at fuselang.GenerateExec$.$anonfun$generateExec$1(GenerateExec.scala:55)                                                                                                        
[info]   at fuselang.GenerateExec$.$anonfun$generateExec$1$adapted(GenerateExec.scala:53)                                                                                                
[info]   at scala.collection.immutable.List.foreach(List.scala:392)                                                                                                                      
[info]   at fuselang.GenerateExec$.generateExec(GenerateExec.scala:53)                                                                                                                   
[info]   at fuselang.Main$.$anonfun$runWithConfig$4(Main.scala:79)                                                                                                                       
[info]   at scala.util.Either.flatMap(Either.scala:341)                                                                                                                                  
[info]   at fuselang.Main$.runWithConfig(Main.scala:77)                                                                                                                                  
[info]   at fuselang.AsyncRun$.$anonfun$compileAndEval$1(RunTests.scala:38)                                                                                                              
[info]   at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:658)                                                                                                                  
[info]   at scala.util.Success.$anonfun$map$1(Try.scala:255)                                                                                                                             
[info]   ...                                                                                                                                                                             
[info] - src/test/should-run/convolution-with-aligned-view.fuse *** FAILED *** (12 millisec                                                                                              
onds)                                                                                                                                                                                    
[info]   fuselang.CompilerError$HeaderMissing: Header json.hpp is missing from location src                                                                                              
/main/resources/headers.                                                                                                                                                                 
[info]   at fuselang.GenerateExec$.$anonfun$generateExec$1(GenerateExec.scala:55)                                                                                                        
[info]   at fuselang.GenerateExec$.$anonfun$generateExec$1$adapted(GenerateExec.scala:53)                                                                                                
[info]   at scala.collection.immutable.List.foreach(List.scala:392)                                                                                                                      
[info]   at fuselang.GenerateExec$.generateExec(GenerateExec.scala:53)                                                                                                                   
                                                                                                                                                                   
etc...

Am I missing something dumb here?

Can you try running: sbt "; clean; getHeaders; test"?

The fuse run command used to generate c++ executable requires a json header file in src/main/resources/headers/. The link to the header file can be found in build.sbt if getHeaders doesn't work for you.

Found the bug. Fixed by 06d7a8c.

Thanks!