"""
SD card test for the CC3200 based boards.
"""

from machine import SD
import os

mch = os.uname().machine
if "LaunchPad" in mch:
    sd_pins = ("GP16", "GP17", "GP15")
elif "WiPy" in mch:
    sd_pins = ("GP10", "GP11", "GP15")
else:
    raise Exception("Board not supported!")

sd = SD(pins=sd_pins)
print(sd)
sd.deinit()
print(sd)
sd.init(sd_pins)
print(sd)

sd = SD(0, pins=sd_pins)
sd = SD(id=0, pins=sd_pins)
sd = SD(0, sd_pins)

# check for memory leaks
for i in range(0, 1000):
    sd = sd = SD(0, pins=sd_pins)

# next ones should raise
try:
    sd = SD(pins=())
except Exception:
    print("Exception")

try:
    sd = SD(pins=("GP10", "GP11", "GP8"))
except Exception:
    print("Exception")

try:
    sd = SD(pins=("GP10", "GP11"))
except Exception:
    print("Exception")
