Things are structured in a way allowing testing falling back to implicitly assumed device by defining/not defining macros.