test.py 1023 Bytes
#!/usr/bin/env python3
import subprocess, os

cross_gcc = "arm-none-eabi-gcc"

try:
    devnull = open(os.devnull)
    subprocess.Popen([cross_gcc], stdout=devnull, stderr=devnull).communicate()
    output = subprocess.Popen(["make", "BOARD=stm32f4discovery"], stderr=subprocess.PIPE, stdout=subprocess.PIPE )
    out,err = output.communicate()

    compare = b'\x1b[1;33mThe following features may conflict:\x1b[0m \x1b[1;32mperiph_dac periph_spi\x1b[0m\n\x1b[1;33mRationale: \x1b[0mOn stm32f4discovery boards there are the same pins for the DAC and/or SPI_0.\n\n\x1b[1;33mEXPECT undesired behaviour!\x1b[0m\n'
    if err == compare:
        print("Test SUCCEEDED! Compile time output is as expected!\n")
    else:
        print("Test FAILED! Compile time output is NOT as expected!\n")
        print("Expected:\n" + compare.decode("ascii") )
        print("Received:\n" + err.decode("ascii") )

except OSError as e:
    if e.errno == os.errno.ENOENT:
        print("ABORTING TEST:"+ cross_gcc +" seems to be missing.\n")