Implement installing packages/libraries from different archive (with/without manifests) // Resolve #767

This commit is contained in:
Ivan Kravets
2016-09-04 00:35:47 +03:00
parent fda7392b84
commit a05d192beb
9 changed files with 139 additions and 52 deletions

View File

@@ -36,15 +36,31 @@ def test_search(clirunner, validate_cliresult):
def test_global_install_registry(clirunner, validate_cliresult,
isolated_pio_home):
result = clirunner.invoke(cmd_lib,
["-g", "install", "58", "OneWire",
"ArduinoJson@5.4.0", "ArduinoJson@>5.4"])
result = clirunner.invoke(cmd_lib, [
"-g", "install", "58", "OneWire",
"http://dl.platformio.org/libraries/archives/3/3756.tar.gz",
"ArduinoJson@5.4.0", "ArduinoJson@>5.4"
])
validate_cliresult(result)
items1 = [d.basename for d in isolated_pio_home.join("lib").listdir()]
items2 = ["DHT22_ID58", "ArduinoJson_ID64", "Json_ID64", "OneWire_ID1"]
items2 = ["DHT22_ID58", "ArduinoJson_ID64", "Json_ID64", "OneWire_ID1",
"ESPAsyncTCP_ID305"]
assert set(items1) == set(items2)
def test_global_install_archive(clirunner, validate_cliresult,
isolated_pio_home):
result = clirunner.invoke(cmd_lib, [
"-g", "install", "https://github.com/adafruit/Adafruit-ST7735-Library/"
"archive/master.zip",
"http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.62.zip"
])
validate_cliresult(result)
items1 = [d.basename for d in isolated_pio_home.join("lib").listdir()]
items2 = ["Adafruit ST7735 Library", "RadioHead"]
assert set(items1) >= set(items2)
def test_global_install_repository(clirunner, validate_cliresult,
isolated_pio_home):
result = clirunner.invoke(
@@ -54,7 +70,6 @@ def test_global_install_repository(clirunner, validate_cliresult,
"https://github.com/gioblu/PJON.git#3.0",
"https://gitlab.com/ivankravets/rs485-nodeproto.git",
# "https://developer.mbed.org/users/simon/code/TextLCD/",
"http://dl.platformio.org/libraries/archives/3/3756.tar.gz",
"knolleary/pubsubclient"])
validate_cliresult(result)
items1 = [d.basename for d in isolated_pio_home.join("lib").listdir()]
@@ -73,7 +88,8 @@ def test_global_lib_list(clirunner, validate_cliresult, isolated_pio_home):
for n in ("PJON", "git+https://github.com/knolleary/pubsubclient")])
items1 = [i['name'] for i in json.loads(result.output)]
items2 = ["OneWire", "DHT22", "PJON", "ESPAsyncTCP", "Json", "ArduinoJson",
"pubsubclient", "rs485-nodeproto"]
"pubsubclient", "rs485-nodeproto", "Adafruit ST7735 Library",
"RadioHead"]
assert set(items1) == set(items2)
@@ -102,12 +118,13 @@ def test_global_lib_update(clirunner, validate_cliresult, isolated_pio_home):
def test_global_lib_uninstall(clirunner, validate_cliresult,
isolated_pio_home):
result = clirunner.invoke(
cmd_lib, ["-g", "uninstall", "1", "ArduinoJson@!=5.4.0", "TextLCD"])
result = clirunner.invoke(cmd_lib,
["-g", "uninstall", "1", "ArduinoJson@!=5.4.0",
"TextLCD", "Adafruit ST7735 Library"])
validate_cliresult(result)
items1 = [d.basename for d in isolated_pio_home.join("lib").listdir()]
items2 = ["DHT22_ID58", "Json_ID64", "ESPAsyncTCP_ID305", "pubsubclient",
"PJON", "rs485-nodeproto"]
"PJON", "rs485-nodeproto", "RadioHead_ID124"]
assert set(items1) == set(items2)
@@ -121,8 +138,8 @@ def test_project_lib_complex(clirunner, validate_cliresult, tmpdir):
result = clirunner.invoke(cmd_lib, ["install", "54", "ArduinoJson"])
validate_cliresult(result)
items1 = [d.basename
for d in tmpdir.join(basename(util.get_projectlibdeps_dir(
))).listdir()]
for d in tmpdir.join(basename(util.get_projectlibdeps_dir()))
.listdir()]
items2 = ["DallasTemperature_ID54", "OneWire_ID1", "ArduinoJson_ID64"]
assert set(items1) == set(items2)