diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH1274ExportExclude/NH1274ExportExcludeFixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH1274ExportExclude/NH1274ExportExcludeFixture.cs index cdcd11bb2f2..0a08de25c46 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH1274ExportExclude/NH1274ExportExcludeFixture.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH1274ExportExclude/NH1274ExportExcludeFixture.cs @@ -95,7 +95,7 @@ public void SchemaExport_Validate_CausesValidateExceptionAsync() Assert.That( () => validator.ValidateAsync(), Throws.TypeOf() - .And.Message.EqualTo("Schema validation failed: see list of validation errors") + .And.Message.StartsWith("Schema validation failed: see list of validation errors") .And.Property("ValidationErrors").Contains("Missing table: Home_Validate")); } diff --git a/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/PostgresSchemaValidateFixture.cs b/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/PostgresSchemaValidateFixture.cs index ff3a65461b7..6dd25fbf690 100644 --- a/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/PostgresSchemaValidateFixture.cs +++ b/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/PostgresSchemaValidateFixture.cs @@ -37,7 +37,7 @@ public async Task ShouldBeInvalidIfTimestampTzIsExpectedAndGotTimestampAsync() var validator = new Tool.hbm2ddl.SchemaValidator(expected); var error = Assert.ThrowsAsync(() => validator.ValidateAsync()); - Assert.That(error, Has.Message.EqualTo("Schema validation failed: see list of validation errors")); + Assert.That(error, Has.Message.StartsWith("Schema validation failed: see list of validation errors")); Assert.That( error, Has.Property("ValidationErrors").Some.Contains("Wrong column type").IgnoreCase @@ -65,7 +65,7 @@ public async Task ShouldBeInvalidIfTimestampIsExpectedAndGotTimestampTzAsync() var validator = new Tool.hbm2ddl.SchemaValidator(expected); var error = Assert.ThrowsAsync(() => validator.ValidateAsync()); - Assert.That(error, Has.Message.EqualTo("Schema validation failed: see list of validation errors")); + Assert.That(error, Has.Message.StartsWith("Schema validation failed: see list of validation errors")); Assert.That( error, Has.Property("ValidationErrors").Some.Contains("Wrong column type").IgnoreCase diff --git a/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs b/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs index 52094bb67f7..948e8ee7a59 100644 --- a/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs +++ b/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs @@ -90,7 +90,7 @@ public void ShouldNotVerifyModifiedTableAsync() Assert.That( () => validatorV2.ValidateAsync(), Throws.TypeOf() - .And.Message.EqualTo("Schema validation failed: see list of validation errors") + .And.Message.StartsWith("Schema validation failed: see list of validation errors") .And.Property("ValidationErrors").Some.Contains("Missing column: Name in ").IgnoreCase.And.Contains("Version").IgnoreCase); } @@ -103,7 +103,7 @@ public void ShouldNotVerifyMultiModifiedTableAsync() var error = Assert.ThrowsAsync(() => validator.ValidateAsync()); Assert.That(error, - Has.Message.EqualTo("Schema validation failed: see list of validation errors") + Has.Message.StartsWith("Schema validation failed: see list of validation errors") .And.Property("ValidationErrors").Some.Contains("Missing column: Name in ").IgnoreCase.And.Contains("Version").IgnoreCase); Assert.That(error, Has.Property("ValidationErrors").Some.Contains("Missing column: Title in ").IgnoreCase.And.Contains("Version").IgnoreCase); diff --git a/src/NHibernate.Test/NHSpecificTest/NH1274ExportExclude/NH1274ExportExcludeFixture.cs b/src/NHibernate.Test/NHSpecificTest/NH1274ExportExclude/NH1274ExportExcludeFixture.cs index 3cc8b6df1dc..95eebe4301c 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH1274ExportExclude/NH1274ExportExcludeFixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH1274ExportExclude/NH1274ExportExcludeFixture.cs @@ -84,7 +84,7 @@ public void SchemaExport_Validate_CausesValidateException() Assert.That( () => validator.Validate(), Throws.TypeOf() - .And.Message.EqualTo("Schema validation failed: see list of validation errors") + .And.Message.StartsWith("Schema validation failed: see list of validation errors") .And.Property("ValidationErrors").Contains("Missing table: Home_Validate")); } diff --git a/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/PostgresSchemaValidateFixture.cs b/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/PostgresSchemaValidateFixture.cs index da8e84cd318..fe236739417 100644 --- a/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/PostgresSchemaValidateFixture.cs +++ b/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/PostgresSchemaValidateFixture.cs @@ -26,7 +26,7 @@ public void ShouldBeInvalidIfTimestampTzIsExpectedAndGotTimestamp() var validator = new Tool.hbm2ddl.SchemaValidator(expected); var error = Assert.Throws(() => validator.Validate()); - Assert.That(error, Has.Message.EqualTo("Schema validation failed: see list of validation errors")); + Assert.That(error, Has.Message.StartsWith("Schema validation failed: see list of validation errors")); Assert.That( error, Has.Property("ValidationErrors").Some.Contains("Wrong column type").IgnoreCase @@ -54,7 +54,7 @@ public void ShouldBeInvalidIfTimestampIsExpectedAndGotTimestampTz() var validator = new Tool.hbm2ddl.SchemaValidator(expected); var error = Assert.Throws(() => validator.Validate()); - Assert.That(error, Has.Message.EqualTo("Schema validation failed: see list of validation errors")); + Assert.That(error, Has.Message.StartsWith("Schema validation failed: see list of validation errors")); Assert.That( error, Has.Property("ValidationErrors").Some.Contains("Wrong column type").IgnoreCase diff --git a/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs b/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs index 72d244ca927..bded7d7236b 100644 --- a/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs +++ b/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs @@ -79,7 +79,7 @@ public void ShouldNotVerifyModifiedTable() Assert.That( () => validatorV2.Validate(), Throws.TypeOf() - .And.Message.EqualTo("Schema validation failed: see list of validation errors") + .And.Message.StartsWith("Schema validation failed: see list of validation errors") .And.Property("ValidationErrors").Some.Contains("Missing column: Name in ").IgnoreCase.And.Contains("Version").IgnoreCase); } @@ -92,7 +92,7 @@ public void ShouldNotVerifyMultiModifiedTable() var error = Assert.Throws(() => validator.Validate()); Assert.That(error, - Has.Message.EqualTo("Schema validation failed: see list of validation errors") + Has.Message.StartsWith("Schema validation failed: see list of validation errors") .And.Property("ValidationErrors").Some.Contains("Missing column: Name in ").IgnoreCase.And.Contains("Version").IgnoreCase); Assert.That(error, Has.Property("ValidationErrors").Some.Contains("Missing column: Title in ").IgnoreCase.And.Contains("Version").IgnoreCase); diff --git a/src/NHibernate/SchemaValidationException.cs b/src/NHibernate/SchemaValidationException.cs index 6a9cb0d7869..232f14dd0aa 100644 --- a/src/NHibernate/SchemaValidationException.cs +++ b/src/NHibernate/SchemaValidationException.cs @@ -3,6 +3,7 @@ using System.Collections.ObjectModel; using System.Runtime.Serialization; using System.Security; +using System.Text; namespace NHibernate { @@ -36,8 +37,12 @@ public override string Message var message = base.Message; if (ValidationErrors == null || ValidationErrors.Count == 0) return message; - var errors = "ValidationErrors:" + string.Join(Environment.NewLine + "- ", ValidationErrors); - return message + Environment.NewLine + errors; + + var sb = new StringBuilder(message).AppendLine().AppendLine("Validation errors:"); + foreach (var error in ValidationErrors) + sb.Append('-').AppendLine(error); + + return sb.ToString(); } } }