commercialhaskell / stackage

Stable Haskell package sets: vetted consistent packages from Hackage
https://www.stackage.org/
MIT License
529 stars 807 forks source link

morpheus-graphql-server-0.27.1 test suite failure #6938

Closed DanBurton closed 1 year ago

DanBurton commented 1 year ago

Ping @nalchevanidze

The test process output is garbled, but it says

       TestSuiteFailure (PackageIdentifier {pkgName = PackageName "morpheus-graphql-server", pkgVersion = mkVersion [0,27,1]}) (fromList [("morpheus-graphql-server-test",Just (ExitFailure 1))]) (Just "/var/stackage/work/unpack-dir/.stack-work/logs/morpheus-graphql-server-0.27.1-test.log") "Morpheus Graphql Tests\n  Input\n    variables\n      incompatibleType\n        weakerType1:                            OK\n        weakerType3:                            OK\n        equalType:                              OK\n        weakerType2:                            OK\n        stricterType:                           OK\n      invalidValue\n        invalidDefaultValue:                    OK\n        nestedListNonNullListReceivedNull:      OK\n        invalidDefaultValueButVariableProvided: OK\n        invalidListVariable:                    OK\n      validListVariable:                        OK\n      nonInputTypeViolation:                    OK\n      unusedVariable\n        unusedVariables:                        OK\n        variableUsedInFragment:                 OK\n        variableUsedInAlias:                    OK\n        variableUsedInInlineFragment:           OK\n      undefinedVariable:                        OK\n      nestedListNullableListReceivedNull:       OK\n      unknownType:                              OK\n      nameCollision:                            OK\n      valueNotProvided\n        nonNullVariable:                        OK\n        nullableVariable:                       OK\n        nonNullVariableWithDefaultValue:        OK\n    enums\n      decode3Con:                               OK\n      decodeMany\n        con3:                                   OK\n        con5:                                   OK\n        con1:                                   OK\n        con0:                                   OK\n        con2:                                   OK\n        con6:                                   OK\n        con4:                                   OK\n      validEnumFromJSONVariable:                OK\n      decodeInvalidValue:                       OK\n      decode2Con:                               OK\n      invalidStringDefaultValue:                OK\n      invalidStringInput:                       OK\n      invalidEnumFromJSONVariable:              OK\n    scalars\n      numbers\n        decodeInt:                              OK\n        decodeFloat:                            OK\n      strings\n        wrong-newline:                          OK\n        wrong-escaped:                          OK\n        escaped:                                OK\n        regular:                                OK\n        block:                                  OK\n    objects\n      undefinedField:                           OK\n      nullableUndefinedField:                   OK\n      resolveObject:                            OK\n      resolveVariable:                          OK\n      unknownField:                             OK\n      unexpectedValue:                          OK\n      unexpectedVariable:                       OK\n    collections\n      map\n        invalid:                                OK\n        ok:                                     OK\n      assoc\n        invalid:                                OK\n        ok:                                     OK\n      nonempty\n        invalid:                                OK\n        ok:                                     OK\n      vector:                                   OK\n      tuple\n        invalid:                                OK\n        ok:                                     OK\n      product\n        invalid:                                OK\n        ok:                                     OK\n      set\n        invalid:                                OK\n        ok:                                     OK\n      seq:                                      OK\n  Collision\n    category-collision-success:                 OK\n    category-collision-fail:                    OK\n    name-collision:                             OK\n  Inference\n    wrapped-type\n      ignoreQueryResolver:                      OK\n      ignoreSubscriptionResolver:               OK\n      validWrappedTypes:                        OK\n      ignoreMutationResolver:                   OK\n    type-guards\n      introspection\n        interface:                              FAIL\n          src/Test/Morpheus/Utils.hs:91:\n          expected: \n          \n           {\"data\":{\"__type\":{\"enumValues\":null,\"fields\":[{\"args\":[],\"deprecationReason\":null,\"isDeprecated\":false,\"name\":\"name\",\"type\":{\"kind\":\"NON_NULL\",\"name\":null,\"ofType\":{\"kind\":\"SCALAR\",\"name\":\"String\",\"ofType\":null}}},{\"args\":[],\"deprecationReason\":null,\"isDeprecated\":false,\"name\":\"age\",\"type\":{\"kind\":\"NON_NULL\",\"name\":null,\"ofType\":{\"kind\":\"SCALAR\",\"name\":\"Int\",\"ofType\":null}}}],\"inputFields\":null,\"interfaces\":null,\"kind\":\"INTERFACE\",\"name\":\"Character\",\"possibleTypes\":[{\"kind\":\"OBJECT\",\"name\":\"Deity\",\"ofType\":null},{\"kind\":\"OBJECT\",\"name\":\"Creature\",\"ofType\":null}]}}} \n          \n           but got: \n          \n           {\"data\":{\"__type\":{\"enumValues\":null,\"fields\":[{\"args\":[],\"deprecationReason\":null,\"isDeprecated\":false,\"name\":\"name\",\"type\":{\"kind\":\"NON_NULL\",\"name\":null,\"ofType\":{\"kind\":\"SCALAR\",\"name\":\"String\",\"ofType\":null}}},{\"args\":[],\"deprecationReason\":null,\"isDeprecated\":false,\"name\":\"age\",\"type\":{\"kind\":\"NON_NULL\",\"name\":null,\"ofType\":{\"kind\":\"SCALAR\",\"name\":\"Int\",\"ofType\":null}}}],\"inputFields\":null,\"interfaces\":null,\"kind\":\"INTERFACE\",\"name\":\"Character\",\"possibleTypes\":[{\"kind\":\"OBJECT\",\"name\":\"Creature\",\"ofType\":null},{\"kind\":\"OBJECT\",\"name\":\"Deity\",\"ofType\":null}]}}}\n          Use -p '/introspection.interface/' to rerun this test only.\n        objects:                                OK\n      resolving\n        fail:                                   OK\n        success\n          interface-fields:                     OK\n          type-casting:                         OK\n    union-type\n      fragmentOnAAndB:                          OK\n      inlineFragment\n        fragmentOnAAndB:                        OK\n        cannotBeSpreadOnType:                   OK\n      selectionWithoutFragmentNotAllowed:       OK\n      fragmentOnlyOnA:                          OK\n      cannotBeSpreadOnType:                     OK\n    type-inference\n      introspection\n        input-union\n          input-union:                          OK\n          empty:                                OK\n        union\n          scalars:                              OK\n          union:                                OK\n          positional-products:                  OK\n          nullary-constructors:                 OK\n          named-products:                       OK\n        inputObject:                            OK\n        enum:                                   OK\n        object:                                 OK\n        unit:                                   OK\n      resolving\n        input\n          fail:                                 OK\n          success:                              OK\n        object:                                 OK\n        complexUnion:                           OK\n    tagged-arguments\n      introspection:                            OK\n      resolving:                                OK\n    tagged-arguments-fail\n      introspection:                            OK\n      resolving:                                OK\n    object-and-enum\n      introspection:                            OK\n      resolving:                                OK\n  Directive\n    definition\n      introspect-enum:                          OK\n      introspect-type:                          OK\n      introspect-directive:                     OK\n    enum-visitor\n      description:                              OK\n      name-encode:                              OK\n      name-decode:                              OK\n      name-introspection:                       OK\n    field-visitor\n      description:                              OK\n      name-encode:                              OK\n      name-decode:                              OK\n      name-introspection:                       OK\n    type-visitor\n      description:                              OK\n  NamedResolvers\n    tests\n      realm-scalars:                            OK\n      deities:                                  OK\n      deity-scalars:                            OK\n      entities:                                 OK\n      deity-ext-by-id:                          OK\n      deity-simple:                             OK\n      deities-ext:                              OK\n      realm-ext-by-id:                          OK\n      realm-simple:                             OK\n      entity-by-id:                             OK\n      realm-by-id:                              OK\n      entity-ext-by-id:                         OK\n      deity-by-id:                              OK\n      realms:                                   OK\n\n1 out of 129 tests failed (0.09s)\n"

For now I'm going to constrain morpheus-graphql-server to its older version.

DanBurton commented 1 year ago

Actually, I'm going to use the latest morpheus-graphql-server but mark it as an expected test failure, because the older version requires an older text.

nalchevanidze commented 1 year ago

okey, thanks. its kind of weird bug. i cant reproduce it. will investigate it deeper

nalchevanidze commented 1 year ago

however it just about introspection field order. there is no critical issue

nalchevanidze commented 1 year ago

@DanBurton version 0.27.3 should fix that.