Skip to content

Commit 7e0d432

Browse files
committed
(maint) Add checks for aggregate exception and check them in unit tests
1 parent f66f6aa commit 7e0d432

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

Source/GitReleaseManager.Cli/Program.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,16 @@ private static async Task<int> Main(string[] args)
5555
(LabelSubOptions opts) => CreateLabelsAsync(opts),
5656
errs => Task.FromResult(1)).ConfigureAwait(false);
5757
}
58+
catch (AggregateException ex)
59+
{
60+
Log.Fatal("{Message}", ex.Message);
61+
foreach (var innerException in ex.InnerExceptions)
62+
{
63+
Log.Fatal(ex, "{Message}", ex.Message);
64+
}
65+
66+
return 1;
67+
}
5868
catch (Exception ex)
5969
{
6070
Log.Fatal(ex, "{Message}", ex.Message);

Source/GitReleaseManager.Tests/ReleaseNotesBuilderTests.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ public class ReleaseNotesBuilderTests
2121
[Test]
2222
public void NoCommitsNoIssues()
2323
{
24-
Assert.Throws<AggregateException>(() => AcceptTest(0));
24+
var exception = Assert.Throws<AggregateException>(() => AcceptTest(0));
25+
Assert.That(exception.InnerException, Is.Not.Null.And.TypeOf<InvalidOperationException>());
2526
}
2627

2728
[Test]
@@ -34,7 +35,8 @@ public void NoCommitsSomeIssues()
3435
[Test]
3536
public void SomeCommitsNoIssues()
3637
{
37-
Assert.Throws<AggregateException>(() => AcceptTest(5));
38+
var exception = Assert.Throws<AggregateException>(() => AcceptTest(5));
39+
Assert.That(exception.InnerException, Is.Not.Null.And.TypeOf<InvalidOperationException>());
3840
}
3941

4042
[Test]
@@ -47,7 +49,8 @@ public void SomeCommitsSomeIssues()
4749
[Test]
4850
public void SingularCommitsNoIssues()
4951
{
50-
Assert.Throws<AggregateException>(() => AcceptTest(1));
52+
var exception = Assert.Throws<AggregateException>(() => AcceptTest(1));
53+
Assert.That(exception.InnerException, Is.Not.Null.And.TypeOf<InvalidOperationException>());
5154
}
5255

5356
[Test]
@@ -116,13 +119,15 @@ public void SomeCommitsWithoutPluralizedLabelAlias()
116119
[Test]
117120
public void NoCommitsWrongIssueLabel()
118121
{
119-
Assert.Throws<AggregateException>(() => AcceptTest(0, CreateIssue(1, "Test")));
122+
var exception = Assert.Throws<AggregateException>(() => AcceptTest(0, CreateIssue(1, "Test")));
123+
Assert.That(exception.InnerException, Is.Not.Null.And.TypeOf<InvalidOperationException>());
120124
}
121125

122126
[Test]
123127
public void SomeCommitsWrongIssueLabel()
124128
{
125-
Assert.Throws<AggregateException>(() => AcceptTest(5, CreateIssue(1, "Test")));
129+
var exception = Assert.Throws<AggregateException>(() => AcceptTest(5, CreateIssue(1, "Test")));
130+
Assert.That(exception.InnerException, Is.Not.Null.And.TypeOf<InvalidOperationException>());
126131
}
127132

128133
[Test]

0 commit comments

Comments
 (0)