@@ -778,7 +778,7 @@ mod tests {
778
778
//Coordinator::new_docker()
779
779
}
780
780
781
- fn new_compile_asm_request ( ) -> CompileRequest {
781
+ fn new_compile_assembly_request ( ) -> CompileRequest {
782
782
CompileRequest {
783
783
target : CompileTarget :: Assembly (
784
784
AssemblyFlavor :: Intel ,
@@ -795,6 +795,19 @@ mod tests {
795
795
}
796
796
}
797
797
798
+ fn new_compile_llvm_ir_request ( ) -> CompileRequest {
799
+ CompileRequest {
800
+ target : CompileTarget :: LlvmIr ,
801
+ channel : Channel :: Stable ,
802
+ crate_type : CrateType :: Library ( LibraryType :: Lib ) ,
803
+ mode : Mode :: Debug ,
804
+ edition : Edition :: Rust2015 ,
805
+ tests : false ,
806
+ backtrace : false ,
807
+ code : r#"pub fn mul(a: u8, b: u8) -> u8 { a * b }"# . to_owned ( ) ,
808
+ }
809
+ }
810
+
798
811
fn new_compile_mir_request ( ) -> CompileRequest {
799
812
CompileRequest {
800
813
target : CompileTarget :: Mir ,
@@ -872,7 +885,7 @@ mod tests {
872
885
let coordinator = new_coordinator ( ) ?;
873
886
874
887
let response = coordinator
875
- . compile ( new_compile_asm_request ( ) )
888
+ . compile ( new_compile_assembly_request ( ) )
876
889
. with_timeout ( )
877
890
. await
878
891
. unwrap ( ) ;
@@ -891,6 +904,25 @@ mod tests {
891
904
Ok ( ( ) )
892
905
}
893
906
907
+ #[ tokio:: test]
908
+ #[ snafu:: report]
909
+ async fn test_compile_llvm_ir ( ) -> Result < ( ) > {
910
+ let coordinator = new_coordinator ( ) ?;
911
+
912
+ let response = coordinator
913
+ . compile ( new_compile_llvm_ir_request ( ) )
914
+ . with_timeout ( )
915
+ . await
916
+ . unwrap ( ) ;
917
+
918
+ assert ! ( response. success, "stderr: {}" , response. stderr) ;
919
+ assert_contains ! ( response. code, "@llvm.umul.with.overflow.i8(i8, i8)" ) ;
920
+
921
+ coordinator. shutdown ( ) . await ?;
922
+
923
+ Ok ( ( ) )
924
+ }
925
+
894
926
trait TimeoutExt : Future + Sized {
895
927
fn with_timeout (
896
928
self ,
0 commit comments