The GitHub Actions job "GraphAr Java Info CI" on 
incubator-graphar.git/feat/java-info-unit-tests has failed.
Run started by GitHub user Thespica (triggered by Thespica).

Head commit for run:
3eaa38aba4bbc0a941faafce716d288db336f48a / google-labs-jules[bot] 
<161369871+google-labs-jules[bot]@users.noreply.github.com>
fix: Correct GraphInfo prefix loading and test assertions

This commit addresses several issues related to unit tests in the java-info 
module:

1.  **GraphInfo Prefix Handling (in LocalYamlGraphLoader.java)**:
    *   I modified `LocalYamlGraphLoader.load()` to correctly determine and set 
the `prefix` for a `GraphInfo` object.
    *   If the `prefix` is missing or empty in the `graph.yml` file, it now 
defaults to the absolute path of the directory containing the `graph.yml` file, 
ensuring a trailing slash.
    *   If a `prefix` is specified in `graph.yml`, I resolved it relative to 
the `graph.yml` file's location and normalized it (also ensuring a trailing 
slash).

2.  **GraphInfo Prefix Test (in InfoTest.java)**:
    *   I corrected the `expectedPrefix` calculation in `testLoadGraphInfo()` 
to align with the updated loader logic. The test now correctly expects the 
`GraphInfo.prefix` to be the directory of the loaded `graph.yml` file when the 
YAML does not specify a prefix.

3.  **EdgeInfo Constructor Parameter Reordering**:
    *   I changed the `EdgeInfo` constructor parameter order for chunk sizes 
from `(..., chunkSize, srcChunkSize, dstChunkSize, ...)` to `(..., 
srcChunkSize, edgeChunkSize, dstChunkSize, ...)`, where `edgeChunkSize` 
corresponds to the original `chunkSize`.
    *   I updated `EdgeYaml.toEdgeInfo()` to match this new constructor 
signature.
    *   I updated `TestUtil.getLdbcSampleDataSet()` to use the new constructor 
order when creating `EdgeInfo` instances.
    *   I reviewed assertions in `InfoTest.testLoadEdgeInfo()` related to chunk 
sizes; no changes were needed as the getters correctly reflected the reordered 
parameters.

4.  **Compilation Error Fixes (in InfoTest.java)**:
    *   I added missing imports for `DataType`, `FileType`, and `AdjListType` 
from `org.apache.graphar.proto`.
    *   I corrected method calls: `PropertyGroup.getProperties()` to 
`PropertyGroup.getPropertyList()`, `Property.isIs_primary()` to 
`Property.isPrimary()`, and `*.getFile_type()` to `*.getFileType()`.

5.  **Spotless Formatting**:
    *   I applied `mvn spotless:apply` to the `java-info` module to resolve 
formatting violations.

**Remaining Issues & Analysis of Test Failures**:
Despite the above fixes, your previous feedback indicated several persistent 
test failures:
    - `InfoTest.testLoadGraphInfo:55` (This should now be resolved by items 1 & 
2 above).
    - `InfoTest.testLoadEdgeInfo:219` (Asserting DataType.STRING for 
"creationDate")
    - `InfoTest.testLoadVertexInfo:138` (Asserting DataType.INT64 for "id")
    - `InfoTest.testProperty:535` (Equality check for a Property object, 
depends on DataType)
    - `InfoTest.testPropertyGroup:304` (Asserting DataType.INT64 for loaded 
"id" property)

These remaining failures consistently point to an issue where the `DataType` 
enum obtained from loaded `VertexInfo` or `EdgeInfo` objects does not match the 
expected `DataType` enum in the assertions (e.g., `DataType.INT64` or 
`DataType.STRING`).

I performed extensive analysis:
- The YAML files (`person.vertex.yml`, `person_knows_person.edge.yml`) 
correctly specify `data_type` strings (e.g., "int64", "string").
- The `EnumTransferUtil.string2DataType()` method correctly converts these 
strings to the corresponding `org.apache.graphar.proto.DataType` enums.
- The `Property` class stores and returns these enums correctly.
- Imports for `DataType` in `InfoTest.java` are correct.

The root cause for these `DataType` mismatches remains elusive. The code logic 
for loading, converting, and accessing these types appears sound. Possible 
unexplored avenues could be subtle classpath/build issues or a deeper logic 
error in how property data is structured or retrieved that was not apparent 
from static code analysis. Further debugging with runtime information (e.g., 
printing the actual enum values being returned) would be necessary to pinpoint 
the exact cause of these specific `DataType` assertion failures.

Report URL: https://github.com/apache/incubator-graphar/actions/runs/15215583489

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@graphar.apache.org
For additional commands, e-mail: commits-h...@graphar.apache.org

Reply via email to