private IEnumerable <GeneralStateTest> LoadTestsFromDirectory(string testDir, string wildcard) { List <GeneralStateTest> testsByName = new List <GeneralStateTest>(); IEnumerable <string> testFiles = Directory.EnumerateFiles(testDir); foreach (string testFile in testFiles) { FileTestsSource fileTestsSource = new FileTestsSource(testFile, wildcard); try { var tests = fileTestsSource.LoadGeneralStateTests(); foreach (GeneralStateTest blockchainTest in tests) { blockchainTest.Category = testDir; } testsByName.AddRange(tests); } catch (Exception e) { testsByName.Add(new GeneralStateTest { Name = testFile, LoadFailure = $"Failed to load: {e.Message}" }); } } return(testsByName); }
public IEnumerable <IEthereumTest> Load(string testName, string wildcard = null) { //in case user wants to give test file other than the ones in ethereum tests submodule if (File.Exists(testName)) { var fileTestsSource = new FileTestsSource(testName, wildcard); var tests = fileTestsSource.LoadGeneralStateTests(); return(tests); } string testsDirectory = GetGeneralStateTestsDirectory(); IEnumerable <string> testFiles = Directory.EnumerateFiles(testsDirectory, testName, SearchOption.AllDirectories); List <GeneralStateTest> generalStateTests = new List <GeneralStateTest>(); //load all tests from found test files in ethereum tests submodule foreach (string testFile in testFiles) { FileTestsSource fileTestsSource = new FileTestsSource(testFile, wildcard); try { var tests = fileTestsSource.LoadGeneralStateTests(); generalStateTests.AddRange(tests); } catch (Exception e) { generalStateTests.Add(new GeneralStateTest { Name = testFile, LoadFailure = $"Failed to load: {e.Message}" }); } } return(generalStateTests); }