One of the most useful software enineering things taught to me recently is "The only things tests ensure is that your code passes the tests."

Brought to you today by:

My C compiler's parser passes the tests, but the AST is completely wrong.

Because the tests were wrong.

I only found out because today I implemented a function to print the AST as a dot/graphviz graph.

Terminal nodes like "(" had children, which is impossible.

The tests and impl being wrong was kinda expected tbh.

Sign in to participate in the conversation
Mastodon is one server in the network