Skip to content

Commit 07dabcb

Browse files
authored
Merge pull request #48 from SkyBlade1978/feature/advantage-1.14.4-test-coverage
Fix Power Advantage 1.14.4 machine state and strengthen tests
2 parents ef08e5c + b23082a commit 07dabcb

93 files changed

Lines changed: 10629 additions & 159 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
/test-rig/.gradle/
6060
/test-rig/.cache/
6161
/test-rig/build/
62+
/test-rig/logs/
6263
/test-rig/migration-probe/.gradle/
6364
/test-rig/migration-probe/build/
6465
/test-rig/migration/.venv/

‎CHANGELOG.txt‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
Unreleased - Minecraft 1.14.4
2+
3+
- Keep steel frames non-opaque on dedicated servers without changing their collision or drops.
4+
5+
- Keep power refused by one consumer available to the rest of its network.
6+
- Check all accessible conveyor slots, respect stack limits and keep different item NBT separate.
7+
- Route overflow into available slots and save both inventories after a transfer.
8+
- Pick up source fluids without deleting waterlogged blocks or replacing solid blocks at a discharge.
9+
- Backport measured machine jobs, strict restart checks and required GUI caption checks.
10+
111
Power Advantage 2.4.5.114041 (Minecraft 1.14.4)
212

313
- Move to Minecraft 1.14.4 and Forge 28.2.26, retaining existing registry names, saved-state keys and public API packages.

‎README.md‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,35 @@ normal chunk loading reconnects them without replacing pipes. The same protocol
8383
records acquisition-stack diagnostics and pipe-only bridge regressions.
8484

8585
The historical 1.10 handbook remains on the [1.10.2 branch](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.10.2/docs/1.10/README.md).
86+
87+
The local [test-coverage backport](docs/1.14/TEST-COVERAGE-BACKPORT.md) records the
88+
repaired candidate, measured machine jobs, restart checks and GUI captures.
89+
90+
## Generator Follow-Up
91+
92+
The [generator follow-up](docs/1.14/TEST-COVERAGE-BACKPORT.md#generator-follow-up) records the older `pa114-candidate-c` inputs.
93+
Its 126 operating jobs and 126 cold checks, 39 GUI windows, 351 caption cases,
94+
355 rejected broken controls, thirteen frozen routes and five connected routes
95+
passed. The corrected paired 30-minute run also passed; the original POI failure
96+
is retained. This is a pre-final Steam-control checkpoint, not qualification of
97+
the newer SteamAdvantage jars or harness. Those still need the final sweep.
98+
Manual play-testing and release review remain separate.
99+
100+
## Final T Candidate
101+
102+
The [final-t checkpoint](docs/1.14/TEST-COVERAGE-BACKPORT.md#final-t-candidate)
103+
records profile `pa114-candidate-e` and its exact jar hashes. All 132 operating
104+
jobs and 132 cold-restart comparisons pass, including an independent audit of
105+
six Steam controls and their nine tile-hold records. GUI checks pass for 39
106+
windows, 351 caption cases and 355 rejected broken controls.
107+
Frozen migration passed on 13 routes and connected-source operation passed on
108+
all five declared routes.
109+
Fresh and migrated-copy 30-minute runs pass. Power and Electric retain their
110+
exact-hash release and reproducibility proof; final-t Steam passes its full suite
111+
and two independent export builds. All 18 mod/version release and reproducibility
112+
gates pass across the six maintained Minecraft lines. Both requested broad
113+
profiles and their independent audit pass; the reporter-only unit/replay
114+
qualification preserves the original native proof. Survival harvest checks pass
115+
before and after restart. The report's extra network/drill scopes are now
116+
qualified; manual acceptance remains separate. Earlier checkpoints keep their original scope;
117+
nothing has been published by this local test work.

‎build.gradle‎

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,14 +1141,24 @@ tasks.register('prepareCombinedEclipseLaunch') {
11411141
group = 'ide'
11421142
description = 'Creates an additional production-only Eclipse client launch with all three Advantage mods.'
11431143
dependsOn tasks.named('verifyEclipseProductionClasspath')
1144+
dependsOn tasks.named('deobfJar')
11441145
doLast {
1145-
def profile = new JsonSlurper().parse(file('test-rig/profiles/native114/dev-core.json'))
1146+
File inputProfile = file(providers.gradleProperty('advantageDevelopmentProfile').getOrElse(
1147+
'test-rig/profiles/native114/dev-core.json'))
1148+
def profile = new JsonSlurper().parse(inputProfile)
1149+
if (profile.powerDeobfSha256) {
1150+
File powerJar = tasks.named('jar', Jar).get().archiveFile.get().asFile
1151+
String powerHash = MessageDigest.getInstance('SHA-256').digest(powerJar.bytes).encodeHex().toString()
1152+
if (!powerHash.equalsIgnoreCase(profile.powerDeobfSha256 as String)) {
1153+
throw new GradleException("PowerAdvantage does not match the dependency pin in ${inputProfile}: ${powerJar}")
1154+
}
1155+
}
11461156
advantageExtensionJars.each { String id, File jar ->
11471157
def pin = profile.mods.find { it.id == id }
11481158
if (!jar.isFile()) throw new GradleException("Build ${id} first, or override its *AdvantageDeobfJar property: ${jar}")
11491159
String hash = MessageDigest.getInstance('SHA-256').digest(jar.bytes).encodeHex().toString()
11501160
if (pin == null || !hash.equalsIgnoreCase(pin.sha256 as String)) {
1151-
throw new GradleException("${id} does not match the audited dev-core dependency pin: ${jar}")
1161+
throw new GradleException("${id} does not match the dependency pin in ${inputProfile}: ${jar}")
11521162
}
11531163
}
11541164
def launch = new groovy.xml.XmlParser().parse(file('runClient.launch'))

‎docs/1.14/PORT-STATUS.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Advantage 1.14.4 Port
22

3+
> The earlier acceptance below applies to the archived candidate. See the
4+
> [stronger regression record](TEST-COVERAGE-BACKPORT.md) for the locally repaired
5+
> jars and their new machine, migration, restart and GUI results.
6+
37
## Starting Point
48

59
The tested 1.14.4 candidate is accepted for merging. Visuals and recipe unlocks

0 commit comments

Comments
 (0)