mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 21:16:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use crate::spec::Target;
 | |
| 
 | |
| #[test]
 | |
| fn report_unused_fields() {
 | |
|     let json = serde_json::from_str(
 | |
|         r#"
 | |
|     {
 | |
|         "arch": "powerpc64",
 | |
|         "data-layout": "e-m:e-i64:64-n32:64",
 | |
|         "llvm-target": "powerpc64le-elf",
 | |
|         "target-pointer-width": "64",
 | |
|         "code-mode": "foo"
 | |
|     }
 | |
|     "#,
 | |
|     )
 | |
|     .unwrap();
 | |
|     let warnings = Target::from_json(json).unwrap().1;
 | |
|     assert_eq!(warnings.warning_messages().len(), 1);
 | |
|     assert!(warnings.warning_messages().join("\n").contains("code-mode"));
 | |
| }
 | |
| 
 | |
| #[test]
 | |
| fn report_incorrect_json_type() {
 | |
|     let json = serde_json::from_str(
 | |
|         r#"
 | |
|     {
 | |
|         "arch": "powerpc64",
 | |
|         "data-layout": "e-m:e-i64:64-n32:64",
 | |
|         "llvm-target": "powerpc64le-elf",
 | |
|         "target-pointer-width": "64",
 | |
|         "link-env-remove": "foo"
 | |
|     }
 | |
|     "#,
 | |
|     )
 | |
|     .unwrap();
 | |
|     let warnings = Target::from_json(json).unwrap().1;
 | |
|     assert_eq!(warnings.warning_messages().len(), 1);
 | |
|     assert!(warnings.warning_messages().join("\n").contains("link-env-remove"));
 | |
| }
 | |
| 
 | |
| #[test]
 | |
| fn no_warnings_for_valid_target() {
 | |
|     let json = serde_json::from_str(
 | |
|         r#"
 | |
|     {
 | |
|         "arch": "powerpc64",
 | |
|         "data-layout": "e-m:e-i64:64-n32:64",
 | |
|         "llvm-target": "powerpc64le-elf",
 | |
|         "target-pointer-width": "64",
 | |
|         "link-env-remove": ["foo"]
 | |
|     }
 | |
|     "#,
 | |
|     )
 | |
|     .unwrap();
 | |
|     let warnings = Target::from_json(json).unwrap().1;
 | |
|     assert_eq!(warnings.warning_messages().len(), 0);
 | |
| }
 | 
