Unit testing a TCP stack (2015)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
  • gvisor

    Application Kernel for Containers

    I couldn't make it past serializarion/deserialization logic in my own hobbiest TCP/IP stack. Even that part was super buggy. Next time around I'm definitely going to be unit testing more parts otherwise it's too hard for a beginner to get the easy parts right let alone the harder parts.

    Also, take a look at gvisor's network stack. It's definitely unit tested.

    https://github.com/google/gvisor/tree/master/pkg/tcpip/link/... (an example)

  • it491-disabler-ai

    State machine for IT491

    There's a lot of push back from engineers - especially people at lower levels of the stack - against testing infrastructure. One particularly famous example is Linux. Rather than testing before merging in code, they merge in code and then test the release candidate as a whole. It also seems game developers are extremely against automated testing frameworks as a whole. I've heard many times that it would be impossible to develop an enemy AI in a test-driven way (I did this for a senior project in college - finished the AI before the game was able to even start testing it [0]).

    I wonder what would need to happen to convince people that:

    1. Even if you do something extremely low level, you can draw a distinction between your hardware and the interface that 99% of your software runs at.

    2. You can develop complex behaviors iteratively with automated testing just like you can develop complex programs iteratively (tests are just programs).

    [0] - https://github.com/gravypod/it491-disabler-ai

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • quiche

    🥧 Savoury implementation of the QUIC transport protocol and HTTP/3

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts