Skip to content

Commit bf8e40d

Browse files
committed
Ensure every module (except the initial module) implicitly requires the initial module.
1 parent 355d455 commit bf8e40d

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

PSql.Deploy.Engine.Tests/Seeds/SeedLoaderTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public void Load_Typical()
6060
modules[1].Name .ShouldBe("init-worker");
6161
modules[1].WorkerId .ShouldBe(-1);
6262
modules[1].Provides .ShouldBeEmpty();
63-
modules[1].Requires .ShouldBeEmpty();
63+
modules[1].Requires .ShouldHaveSingleItem().ShouldBe("init");
6464
modules[1].Batches .ShouldHaveSingleItem();
6565
modules[1].Batches[0].ShouldBe(""
6666
+ "--# WORKER: all" + Eol
@@ -70,7 +70,7 @@ public void Load_Typical()
7070
modules[2].Name .ShouldBe("a");
7171
modules[2].WorkerId .ShouldBe(0);
7272
modules[2].Provides .ShouldBe(ImmutableArray.Create("x", "y", "z"));
73-
modules[2].Requires .ShouldBeEmpty();
73+
modules[2].Requires .ShouldHaveSingleItem().ShouldBe("init");
7474
modules[2].Batches .ShouldHaveSingleItem();
7575
modules[2].Batches[0].ShouldBe(""
7676
+ "--# PROVIDES: x y" + Eol
@@ -85,7 +85,7 @@ public void Load_Typical()
8585
modules[3].Name .ShouldBe("b");
8686
modules[3].WorkerId .ShouldBe(0);
8787
modules[3].Provides .ShouldBeEmpty();
88-
modules[3].Requires .ShouldBe(ImmutableArray.Create("x", "y", "z"));
88+
modules[3].Requires .ShouldBe(ImmutableArray.Create("init", "x", "y", "z"));
8989
modules[3].Batches .ShouldHaveSingleItem();
9090
modules[3].Batches[0].ShouldBe(""
9191
+ "--# REQUIRES: x y z" + Eol
@@ -126,7 +126,7 @@ public void Load_WorkerAll()
126126
modules[1].Name .ShouldBe("init-worker");
127127
modules[1].WorkerId.ShouldBe(-1);
128128
modules[1].Provides.ShouldBeEmpty();
129-
modules[1].Requires.ShouldBeEmpty();
129+
modules[1].Requires.ShouldHaveSingleItem().ShouldBe("init");
130130
modules[1].Batches .ShouldHaveSingleItem();
131131
modules[1].Batches[0].ShouldBe("--# WORKER: all" + Eol);
132132
}

PSql.Deploy.Engine/Seeds/SeedLoader.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,11 @@ private void NewModule(CaptureCollection arguments)
154154

155155
_moduleName = arguments[0].Value;
156156

157+
// Ensure every module (except the initial module) implicitly requires
158+
// the initial module
159+
if (_moduleName != InitialModuleName)
160+
_requires.Add(InitialModuleName);
161+
157162
foreach (Capture argument in arguments.Skip(1))
158163
_provides.Add(argument.Value);
159164
}

0 commit comments

Comments
 (0)