blob: 4f1ac5f379da571f60ff366b646ebfa5ea8254a1 [file] [log] [blame]
alexanderf42f5682021-07-16 11:30:56 +01001# Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
Éanna Ó Catháin145c88f2020-11-16 14:12:11 +00002# SPDX-License-Identifier: MIT
3
4import os
5import ntpath
6
7import urllib.request
8import zipfile
Éanna Ó Catháin145c88f2020-11-16 14:12:11 +00009import pytest
10
11script_dir = os.path.dirname(__file__)
alexanderf42f5682021-07-16 11:30:56 +010012
13
Éanna Ó Catháin145c88f2020-11-16 14:12:11 +000014@pytest.fixture(scope="session")
alexanderf42f5682021-07-16 11:30:56 +010015def test_data_folder():
Éanna Ó Catháin145c88f2020-11-16 14:12:11 +000016 """
17 This fixture returns path to folder with shared test resources among all tests
18 """
19
20 data_dir = os.path.join(script_dir, "testdata")
21 if not os.path.exists(data_dir):
22 os.mkdir(data_dir)
Raviv Shalev97ddc062021-12-07 15:18:09 +020023
24 sys_arch = os.uname().machine
25 if sys_arch == "x86_64":
26 libarmnn_url = "https://github.com/ARM-software/armnn/releases/download/v21.11/ArmNN-linux-x86_64.tar.gz"
27 else:
28 libarmnn_url = "https://github.com/ARM-software/armnn/releases/download/v21.11/ArmNN-linux-aarch64.tar.gz"
29
30
Éanna Ó Catháin145c88f2020-11-16 14:12:11 +000031 files_to_download = ["https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/messi5.jpg",
32 "https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/basketball1.png",
33 "https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/Megamind.avi",
alexanderf42f5682021-07-16 11:30:56 +010034 "https://github.com/ARM-software/ML-zoo/raw/master/models/object_detection/ssd_mobilenet_v1/tflite_uint8/ssd_mobilenet_v1.tflite",
35 "https://git.mlplatform.org/ml/ethos-u/ml-embedded-evaluation-kit.git/plain/resources/kws/samples/yes.wav",
Raviv Shalev97ddc062021-12-07 15:18:09 +020036 "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-speech-sdk/master/sampledata/audiofiles/myVoiceIsMyPassportVerifyMe04.wav",
37 "https://tfhub.dev/google/lite-model/magenta/arbitrary-image-stylization-v1-256/int8/prediction/1?lite-format=tflite",
38 "https://tfhub.dev/google/lite-model/magenta/arbitrary-image-stylization-v1-256/int8/transfer/1?lite-format=tflite",
39 libarmnn_url
Éanna Ó Catháin145c88f2020-11-16 14:12:11 +000040 ]
41
42 for file in files_to_download:
43 path, filename = ntpath.split(file)
Raviv Shalev97ddc062021-12-07 15:18:09 +020044 if filename == '1?lite-format=tflite' and 'prediction' in file:
45 filename = 'style_predict.tflite'
46 elif filename == '1?lite-format=tflite' and 'transfer' in file:
47 filename = 'style_transfer.tflite'
Éanna Ó Catháin145c88f2020-11-16 14:12:11 +000048 file_path = os.path.join(data_dir, filename)
49 if not os.path.exists(file_path):
50 print("\nDownloading test file: " + file_path + "\n")
51 urllib.request.urlretrieve(file, file_path)
52
Raviv Shalev97ddc062021-12-07 15:18:09 +020053 path, filename = ntpath.split(libarmnn_url)
54 file_path = os.path.join(data_dir, filename)
55 os.system(f"tar -xvzf {file_path} -C {data_dir} ")
Éanna Ó Catháin145c88f2020-11-16 14:12:11 +000056
57 return data_dir