test(3p/nix): Partially enable evaluator success tests
Enables the `eval-okay-` test suite, with some caveats: * The output is not yet checked against the expected value, so the tests only check that pure evaluation succeeds * A handful of tests have been disabled as they are causing failures that may be related to the DummyStore implementation. Both of these will be addressed in followup commits, but there is already some value in having the pure evaluation tests pass. Change-Id: I62236c95ebffb06dc64a45455a8ee04344c400b7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1284 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi> Reviewed-by: glittershark <grfn@gws.fyi>
This commit is contained in:
		
							parent
							
								
									bc7652d783
								
							
						
					
					
						commit
						97e6499225
					
				
					 7 changed files with 28 additions and 0 deletions
				
			
		
							
								
								
									
										7
									
								
								third_party/nix/src/tests/lang/disabled/README.txt
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								third_party/nix/src/tests/lang/disabled/README.txt
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					These tests are disabeld primarily because the DummyStore used for
 | 
				
			||||||
 | 
					tests does not interact with real files on disk at the moment, but the
 | 
				
			||||||
 | 
					tests expect it to.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Once we have a solution for this (potentially just reading & hashing
 | 
				
			||||||
 | 
					the files, but not writing them anywhere) these tests will be enabled
 | 
				
			||||||
 | 
					again.
 | 
				
			||||||
							
								
								
									
										21
									
								
								third_party/nix/src/tests/language-tests.cc
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								third_party/nix/src/tests/language-tests.cc
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -187,4 +187,25 @@ INSTANTIATE_TEST_SUITE_P(Eval, EvalFailureTest,
 | 
				
			||||||
                         testing::ValuesIn(TestFilesFor("eval-fail-")),
 | 
					                         testing::ValuesIn(TestFilesFor("eval-fail-")),
 | 
				
			||||||
                         TestNameFor);
 | 
					                         TestNameFor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class EvalSuccessTest : public testing::TestWithParam<std::filesystem::path> {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Test pattern for files that should fail to evaluate.
 | 
				
			||||||
 | 
					TEST_P(EvalSuccessTest, Fails) {
 | 
				
			||||||
 | 
					  std::shared_ptr<Store> store = std::make_shared<DummyStore>();
 | 
				
			||||||
 | 
					  EvalState state({}, ref<Store>(store));
 | 
				
			||||||
 | 
					  auto path = GetParam();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Expr* expr;
 | 
				
			||||||
 | 
					  EXPECT_NO_THROW(expr = state.parseExprFromFile(GetParam().string()))
 | 
				
			||||||
 | 
					      << path.stem().string() << ": should parse successfully";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Value result;
 | 
				
			||||||
 | 
					  state.eval(expr, result);
 | 
				
			||||||
 | 
					  state.forceValue(result);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					INSTANTIATE_TEST_SUITE_P(Eval, EvalSuccessTest,
 | 
				
			||||||
 | 
					                         testing::ValuesIn(TestFilesFor("eval-okay-")),
 | 
				
			||||||
 | 
					                         TestNameFor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}  // namespace nix::tests
 | 
					}  // namespace nix::tests
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue