Blame

e23584 Dan Alexander 2026-09-14 10:46:55
Add company wiki standards and VoxelCore docs This change establishes the shared company knowledge structure, governance, engineering, security, and incident/change standards. It also adds the VoxelHorizons product tree with a complete VoxelCore documentation set covering architecture, operations, authoring, version support, resource pack compilation, runtime reloads, and testing/release workflows.
1
# Testing
2
3
4
> **Documentation baseline:** VoxelCore `main` at `452b569` · 14 September 2026.
5
> **Repository:** [https://github.com/VoxelHorizons/VoxelCore](https://github.com/VoxelHorizons/VoxelCore)
6
7
8
VoxelCore combines focused unit/regression tests with real plugin-capable server smoke tests.
9
10
## Unit/regression coverage
11
12
Current tests cover, among other behaviour:
13
14
- item compilation and multi-level inheritance;
15
- missing parents, cycles, duplicate IDs and required-field validation;
16
- deep immutability of compiled definition data;
17
- YAML loading/discovery and strict schema handling;
18
- stable render allocation and tombstone behaviour;
19
- structured semantic-key typed indices and type-change rejection;
20
- runtime reload rollback and successful publication;
21
- `ItemManager` use of the active snapshot allocation;
22
- platform version parsing, including Paper's build-qualified 26.2 version;
23
- item metadata flag resolution;
24
- deterministic Java pack output and modern rule generation;
25
- 26.2 `min_format`/`max_format` pack metadata;
26
- config migration preserving operator values;
27
- unbound definitions being excluded from `item list`.
28
29
## Real-server matrix
30
31
Validated exact servers:
32
33
1. 1.12.2
34
2. 1.13.2
35
3. 1.14.4
36
4. 1.19.4
37
5. 1.20.5
38
6. 1.21.4
39
7. 26.2
40
41
The smoke path goes beyond “plugin enabled”: it waits for the `VOXELCORE_READY` marker, exercises content/admin behaviour, verifies create → stored ContentID → identify round trips, validates/builds the exact resource-pack target, deliberately triggers a failed reload and confirms the old revision remains active, then restores valid content and confirms a successful new revision.
42
43
## Fixture families
44
45
The repository currently carries `mvp-content`, `mvp-content-legacy` and `mvp-content-modern` fixtures so rendering boundaries can be exercised without pretending one authored render representation behaves identically on every client generation.