Giter Club home page Giter Club logo

grpc-mqtt's Issues

Non-deterministic test failures

On main, running cabal test I've seen a couple different failures.

Here are the results of 3 consecutive cabal tests. A fourth run passed all tests.

Running 1 test suites...
Test suite test: RUNNING...
Tests: grpc-mqtt
    <...>
    Test.Service.ClientStream
      Test.Service.ClientStream.Unbatched: FAIL (1.52s)
        test/Test/Service.hs:431:
        expected: Just (OneInt {oneIntResult = 15})
         but got: Just (OneInt {oneIntResult = 13})
      Batched:                             SKIP
    Test.Service.ServerStream
      Test.Service.ServerStream.Unbatched: SKIP
      Test.Service.ServerStream.Batched:   SKIP
    Test.Service.BiDiStream
      Test.Service.BiDiStream.Unbatched:   SKIP
      Batched:                             SKIP
    Test.Service.Errors
      Test.Service.Errors.Timeout:         SKIP
      Test.Service.Errors.Missing:         SKIP
      Test.Service.Errors.Malform:         SKIP

9 out of 39 tests failed (13.95s)
Test suite test: FAIL
Running 1 test suites...
Test suite test: RUNNING...
Tests: grpc-mqtt
  <...>
  Test.Service
    Normal
      LongBytes:                           FAIL
        Exception: MQTTException "disconnected"
      Call:                                SKIP
    Test.Service.ClientStream
      Test.Service.ClientStream.Unbatched: SKIP
      Batched:                             SKIP
    Test.Service.ServerStream
      Test.Service.ServerStream.Unbatched: SKIP
      Test.Service.ServerStream.Batched:   SKIP
    Test.Service.BiDiStream
      Test.Service.BiDiStream.Unbatched:   SKIP
      Batched:                             SKIP
    Test.Service.Errors
      Test.Service.Errors.Timeout:         SKIP
      Test.Service.Errors.Missing:         SKIP
      Test.Service.Errors.Malform:         SKIP

11 out of 39 tests failed (20.43s)
Test suite test: FAIL
Running 1 test suites...
Test suite test: RUNNING...
Tests: grpc-mqtt
  <..>
  Test.Service
    Normal
      LongBytes:                           malloc_consolidate(): unaligned fastbin chunk detected
Test suite test: FAIL

Update `README.md` protobuf option section.

The documentation on grpc-mqtt's custom protobuf options in the README.md:

  • The boolean option haskell.grpc.mqtt.batched_stream.
  • The boolean option haskell.grpc.mqtt.batched_stream_service.
  • The boolean option haskell.grpc.mqtt.batched_stream_file.
  • The CLevel option haskell.grpc.mqtt.client_clevel.
  • The CLevel option haskell.grpc.mqtt.client_clevel_service.
  • The CLevel option haskell.grpc.mqtt.client_clevel_file.
  • The CLevel option haskell.grpc.mqtt.server_clevel.
  • The CLevel option haskell.grpc.mqtt.server_clevel_service.
  • The CLevel option haskell.grpc.mqtt.server_clevel_file.

I plan on opening a PR for this, this issue is just to keep a reminder for myself.

Tests fail to compile with `proto3-suite` >= 0.5.0

Brought up in #22

When using proto3-suite >= 0.5.0

Building test suite 'test' for grpc-mqtt-0.1.0.0..
[ 1 of 16] Compiling Proto.Message    ( gen/test/Proto/Message.hs, /home/matt/Code/grpc-mqtt/dist-newstyle/build/x86_64-linux/ghc-8.10.4/grpc-mqtt-0.1.0.0/t/test/build/test/test-tmp/Proto/Message.o, /home/matt/Code/grpc-mqtt/dist-newstyle/build/x86_64-linux/ghc-8.10.4/grpc-mqtt-0.1.0.0/t/test/build/test/test-tmp/Proto/Message.dyn_o ) [Proto3.Suite.Types changed]
[ 2 of 16] Compiling Proto.Service    ( gen/test/Proto/Service.hs, /home/matt/Code/grpc-mqtt/dist-newstyle/build/x86_64-linux/ghc-8.10.4/grpc-mqtt-0.1.0.0/t/test/build/test/test-tmp/Proto/Service.o, /home/matt/Code/grpc-mqtt/dist-newstyle/build/x86_64-linux/ghc-8.10.4/grpc-mqtt-0.1.0.0/t/test/build/test/test-tmp/Proto/Service.dyn_o ) [Network.GRPC.HighLevel.Server.Unregistered changed]

gen/test/Proto/Service.hs:143:30: error:
    Not in scope: ‘optMaxMetadataSize’
    |
143 |                              optMaxMetadataSize = serverMaxMetadataSize})
    |                              ^^^^^^^^^^^^^^^^^^

This looks like its related to this change in grpc-haskell: awakesecurity/gRPC-haskell@1127770

Remove `defaultBatchedStream` from `mqttRemoteClientMethodMap`

The function Network.GRPC.MQTT.TH.RemoteClient.mqttRemoteClientMethodMap is misleading. It takes a defaultBatchedStream parameter which is not used anywhere. The decision to use batching or not solely depends on the proto file options. This parameter should be removed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.