We present a system for performing evolution directly on an antenna array. The system is composed of three programmable antennas and runs in an antenna chamber under the control of an evolutionary algorithm. Fitness is measured in two ways. First, we assess how well the antenna array radiation pattern matches a desired null-steering pattern, which changes over time. Second, we measure how well the algorithms are able to reconfigure the arrays hardware settings to recover from a localized hardware fault within the array. We describe the in-situ evolution hardware system, the algorithms used, and the experimental setup. The results show that two types of genetic algorithms and the simulated annealing algorithm were able to adapt, in-situ, the antenna arrays output pattern to a target nulling pattern. We also show that the evolutionary algorithms were able to reconfigure the array to re-steer nulls correctly following the introduction of localized hardware faults into the array. This provides a proof-of-concept for the idea of self-healing antenna arrays.