Skip to content

Compliance Report

This section details the current state of each language binding with respect to our standard compliance suite.

Language bindings must pass every test case. A category is complete when a language binding passes all of its test cases.

Language Tests passing Categories complete
python 100.00% (106 / 106) 12 / 12
java 100.00% (106 / 106) 12 / 12
dotnet 100.00% (106 / 106) 12 / 12
golang 100.00% (106 / 106) 12 / 12

Status: 🟢 passing, 🔴 failing, ⭕ not implemented. Failing and not implemented tests both count as not passing.

Primitives & Optional Values

Test python java dotnet golang
anyValuesKeepTheirType 🟢 🟢 🟢 🟢
datesRoundTrip 🟢 🟢 🟢 🟢
hostNullIsSentAsUndefined 🟢 🟢 🟢 🟢
isoDateStringsStayStrings 🟢 🟢 🟢 🟢
jsonValuesCrossTheBoundaryUnchanged 🟢 🟢 🟢 🟢
primitivePropertiesCanBeRead 🟢 🟢 🟢 🟢
primitivesRoundTrip 🟢 🟢 🟢 🟢
undefinedOptionalListReadsAsAbsent 🟢 🟢 🟢 🟢
undefinedOptionalMapReadsAsAbsent 🟢 🟢 🟢 🟢
unionPropertyAcceptsEachMemberType 🟢 🟢 🟢 🟢
unionPropertyReturnsConcreteType 🟢 🟢 🟢 🟢
unsetOptionalPropertyReadsAsAbsent 🟢 🟢 🟢 🟢
variadicArgumentsAreForwarded 🟢 🟢 🟢 🟢

Classes & Object References

Test python java dotnet golang
abstractTypedValueReceivedAsReference 🟢 🟢 🟢 🟢
classWithUnionPropertyCanBeReceived 🟢 🟢 🟢 🟢
classesCanReferenceEachOtherDuringInitialization 🟢 🟢 🟢 🟢
constructorCanPassThisToTheHost 🟢 🟢 🟢 🟢
hostImplementsAbstractMembers 🟢 🟢 🟢 🟢
inheritedPropertiesUsableOnHostSubclass 🟢 🟢 🟢 🟢
instanceMethodsCanBeCalled 🟢 🟢 🟢 🟢
nonExportedClassReceivedAsInterface 🟢 🟢 🟢 🟢
objectLiteralReturnedAsClassIsUsable 🟢 🟢 🟢 🟢
objectPropertiesCanBeReadAndAssigned 🟢 🟢 🟢 🟢
objectReferencesRoundTripThroughAny 🟢 🟢 🟢 🟢
objectsReceivedAsMostDerivedPublicType 🟢 🟢 🟢 🟢
objectsReturnedAsAbstractTypeAreUsable 🟢 🟢 🟢 🟢
objectsUsableThroughImplementedInterface 🟢 🟢 🟢 🟢
optionalConstructorParametersCanBeOmitted 🟢 🟢 🟢 🟢
privateConstructorClassFromStaticFactory 🟢 🟢 🟢 🟢
strippedDeprecatedTypeCanBeReceived 🟢 🟢 🟢 🟢
typesNotLoadedByTheHostCanBeReceived 🟢 🟢 🟢 🟢

Statics & Constants

Test python java dotnet golang
constantsCanBeRead 🟢 🟢 🟢 🟢
staticMembersCanBeUsed 🟢 🟢 🟢 🟢
staticPropertyAssignmentUpdatesJavaScript 🟢 🟢 🟢 🟢

Enums

Test python java dotnet golang
enumPropertiesCanBeReadAndWritten 🟢 🟢 🟢 🟢
enumValuesReturnedByTheKernel 🟢 🟢 🟢 🟢
enumsFromDependenciesCrossTheBoundary 🟢 🟢 🟢 🟢

Collections

Test python java dotnet golang
arrayPropertyCanBeRead 🟢 🟢 🟢 🟢
arraysOfObjectsPreserveOrderAndType 🟢 🟢 🟢 🟢
collectionPropertiesCanBeSetAndRead 🟢 🟢 🟢 🟢
listOfInterfacesElementsAreUsable 🟢 🟢 🟢 🟢
listOfStructsElementsHaveStructType 🟢 🟢 🟢 🟢
mapOfInterfacesValuesAreUsable 🟢 🟢 🟢 🟢
mapOfStructsValuesHaveStructType 🟢 🟢 🟢 🟢
mapPropertyCanBeRead 🟢 🟢 🟢 🟢
mapsOfObjectsCanBeRead 🟢 🟢 🟢 🟢
returnedArrayCanBeRead 🟢 🟢 🟢 🟢
returnedMapCanBeRead 🟢 🟢 🟢 🟢
staticArrayPropertyCanBeRead 🟢 🟢 🟢 🟢
staticMapPropertyCanBeRead 🟢 🟢 🟢 🟢

Structs & Keyword Arguments

Test python java dotnet golang
diamondInheritedStructPropertiesAppearOnce 🟢 🟢 🟢 🟢
incompleteStructIsRejected 🟢 🟢 🟢 🟢
overlappingStructUnionsAreDisambiguated 🟢 🟢 🟢 🟢
positionalArgumentAndStructPropertyWithSameName 🟢 🟢 🟢 🟢
receivedStructEqualsHostBuiltStruct 🟢 🟢 🟢 🟢
structReceivedAsParentStructType 🟢 🟢 🟢 🟢
structsArePassedByValue 🟢 🟢 🟢 🟢
structsAreSentAsPlainData 🟢 🟢 🟢 🟢
submoduleStructCanBePassed 🟢 🟢 🟢 🟢
unionOfListAndObjectStructPropertyRoundTrips 🟢 🟢 🟢 🟢
unionStructPropertyKeepsConcreteType 🟢 🟢 🟢 🟢
unsetStructPropertiesAreOmitted 🟢 🟢 🟢 🟢

Interfaces

Test python java dotnet golang
callbackReceivesInterfaceArguments 🟢 🟢 🟢 🟢
hostCanImplementInterface 🟢 🟢 🟢 🟢
hostCanImplementInterfaceThroughSuperclass 🟢 🟢 🟢 🟢
hostObjectsKeepIdentityAcrossTheBoundary 🟢 🟢 🟢 🟢
hostSubclassCanImplementAdditionalInterface 🟢 🟢 🟢 🟢
interfacePropertyCanBeSet 🟢 🟢 🟢 🟢
interfaceValueCanBePassedBack 🟢 🟢 🟢 🟢
interfaceValueWithPrivateTypeIsUsable 🟢 🟢 🟢 🟢
kernelUsesHostInterfaceAccessors 🟢 🟢 🟢 🟢
objectLiteralReturnedAsInterfaceIsUsable 🟢 🟢 🟢 🟢
objectsUsableThroughEveryInterface 🟢 🟢 🟢 🟢

Subclassing & Overrides

Test python java dotnet golang
getterOverrideCanCallSuper 🟢 🟢 🟢 🟢
getterOverrideErrorPropagates 🟢 🟢 🟢 🟢
hostAccessorDoesNotOverridePrivateProperty 🟢 🟢 🟢 🟢
hostMethodDoesNotOverridePrivateMethod 🟢 🟢 🟢 🟢
hostMethodDoesNotOverridePrivateProperty 🟢 🟢 🟢 🟢
hostSubclassCanBeUsed 🟢 🟢 🟢 🟢
methodCallsUseHostOverride 🟢 🟢 🟢 🟢
methodOverrideCanCallSuper 🟢 🟢 🟢 🟢
overrideReceivesDeserializedArguments 🟢 🟢 🟢 🟢
propertyAccessesUseHostOverrides 🟢 🟢 🟢 🟢
protectedGetterCanBeOverridden 🟢 🟢 🟢 🟢
protectedMethodCanBeOverridden 🟢 🟢 🟢 🟢
protectedSetterCanBeOverridden 🟢 🟢 🟢 🟢
setterOverrideCanCallSuper 🟢 🟢 🟢 🟢
setterOverrideErrorPropagates 🟢 🟢 🟢 🟢
syncGetterOverrideCallingAsyncFails 🟢 🟢 🟢 🟢
syncMethodOverrideCallingAsyncFails 🟢 🟢 🟢 🟢
syncSetterOverrideCallingAsyncFails 🟢 🟢 🟢 🟢

Async

Test python java dotnet golang
asyncMethodCanBeOverridden 🟢 🟢 🟢 🟢
asyncMethodReturningNothing 🟢 🟢 🟢 🟢
asyncMethodsCanBeCalled 🟢 🟢 🟢 🟢
asyncOverrideCanBeInherited 🟢 🟢 🟢 🟢
asyncOverrideCanCallSuper 🟢 🟢 🟢 🟢
asyncOverrideErrorPropagates 🟢 🟢 🟢 🟢
multipleAsyncMethodsCanBeOverridden 🟢 🟢 🟢 🟢
staticAsyncMethodsCanBeCalled 🟢 🟢 🟢 🟢

Errors

Test python java dotnet golang
kernelErrorMessageReachesTheHost 🟢 🟢 🟢 🟢
kernelErrorsReachTheHost 🟢 🟢 🟢 🟢

Naming

Test python java dotnet golang
reservedWordClassPropertiesAreAccessible 🟢 🟢 🟢 🟢
reservedWordMethodsAreCallable 🟢 🟢 🟢 🟢
reservedWordStructPropertiesAreUsable 🟢 🟢 🟢 🟢

Runtime Environment

Test python java dotnet golang
kernelKnowsTheHostRuntime 🟢 🟢 🟢 🟢
nodeStandardLibraryIsAvailable 🟢 🟢 🟢 🟢