1. A computer-implemented method for generating one or more tests for testing a command provided by a command line interface, the method comprising: receiving a specification for the command in a pre-determined meta-language, wherein the specification defines a first operator associated with the command and a first set of operands corresponding to the first operator; converting the specification into a tokenized notation that includes a first operator token for the first operator and an operand token for each operand in the first set of operands; generating a direct acyclic graph (DAG) based on the tokenized notation, wherein each unique path in the DAG represents a different permutation of the command, the first operator token is included in a first node of the DAG, and each operand token is included in at least one other node of the DAG; and traversing a first unique path in the DAG from a root node to a first leaf node to generate a first test for testing the command that includes the first operator token and a first operand token included in one of the other nodes of the DAG.