Skip to content

Commit 48d9041

Browse files
authored
chore: fix non cli tests (#19)
Fix lint on code sharing and perf tests.
1 parent ff89a67 commit 48d9041

File tree

8 files changed

+82
-84
lines changed

8 files changed

+82
-84
lines changed

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ script:
1313
- python -m nose core_tests/utils -v -s --nologcapture --with-doctest --with-xunit
1414
- python -m flake8 --max-line-length=120 core core_tests data products tests
1515
- python -m pylint --disable=locally-disabled --rcfile=.pylintrc core data products
16-
- find tests/cli | grep .py | grep -v .pyc | xargs python -m pylint --disable=locally-disabled --min-similarity-lines=15 --rcfile=.pylintrc
16+
- find core_tests | grep .py | grep -v .pyc | xargs python -m pylint --disable=locally-disabled --min-similarity-lines=15 --rcfile=.pylintrc
17+
- find tests | grep .py | grep -v .pyc | xargs python -m pylint --disable=locally-disabled --min-similarity-lines=15 --rcfile=.pylintrc

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ python -m pylint --disable=locally-disabled --rcfile=.pylintrc core data product
8585
Due to the fact tests are not modules pylint can not be executed directly.
8686
Workaround:
8787
```bash
88-
find tests/cli | grep .py | grep -v .pyc | xargs python -m pylint --disable=locally-disabled --min-similarity-lines=15 --rcfile=.pylintrc
88+
find core_tests | grep .py | grep -v .pyc | xargs python -m pylint --disable=locally-disabled --min-similarity-lines=15 --rcfile=.pylintrc
89+
find tests | grep .py | grep -v .pyc | xargs python -m pylint --disable=locally-disabled --min-similarity-lines=15 --rcfile=.pylintrc
8990
```
9091

9192
## Hints, Tips and Tricks

tests/apps/apps_tests.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pylint: disable=unused-argument
12
import os
23
import unittest
34

tests/code_sharing/migrate_web_tests.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pylint: disable=unused-argument
12
import os
23
import unittest
34

tests/code_sharing/ng_new_tests.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# pylint: disable=too-many-branches
2+
# pylint: disable=too-many-statements
13
import os
24
import unittest
35

tests/perf/build/build_perf_tests.py

Lines changed: 35 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# pylint: disable=unused-argument
2+
# pylint: disable=undefined-variable
3+
14
import json
25
import os
36
import unittest
@@ -9,7 +12,6 @@
912
from core.enums.platform_type import Platform
1013
from core.settings import Settings
1114
from core.utils.file_utils import Folder, File
12-
from core.utils.git import Git
1315
from core.utils.gradle import Gradle
1416
from core.utils.json_utils import JsonUtils
1517
from core.utils.npm import Npm
@@ -19,10 +21,10 @@
1921
from data.templates import Template
2022
from products.nativescript.tns import Tns
2123

22-
retry_count = 3
23-
tolerance = 0.20
24-
app_name = Settings.AppName.DEFAULT
25-
expected_results = JsonUtils.read(os.path.join(Settings.TEST_RUN_HOME, 'tests', 'perf', 'data.json'))
24+
RETRY_COUNT = 3
25+
TOLERANCE = 0.20
26+
APP_NAME = Settings.AppName.DEFAULT
27+
EXPECTED_RESULTS = JsonUtils.read(os.path.join(Settings.TEST_RUN_HOME, 'tests', 'perf', 'data.json'))
2628

2729

2830
# noinspection PyMethodMayBeStatic,PyUnusedLocal
@@ -40,15 +42,6 @@ class PrepareAndBuildPerfTests(TnsTest):
4042
def setUpClass(cls):
4143
TnsTest.setUpClass()
4244

43-
# Get master detail template locally.
44-
local_folder = os.path.join(Settings.TEST_SUT_HOME, Template.MASTER_DETAIL_NG.name)
45-
local_package = os.path.join(Settings.TEST_SUT_HOME, Template.MASTER_DETAIL_NG.name + '.tgz')
46-
Folder.clean(local_folder)
47-
Git.clone(repo_url=Template.MASTER_DETAIL_NG.repo, local_folder=local_folder)
48-
Npm.pack(folder=local_folder, output_file=local_package)
49-
Folder.clean(local_folder)
50-
Template.MASTER_DETAIL_NG.local_package = local_package
51-
5245
def setUp(self):
5346
TnsTest.setUp(self)
5447

@@ -69,66 +62,66 @@ def test_001_prepare_data(self, template, template_package, change_set, bundle):
6962
def test_200_prepare_android_initial(self, template, template_package, change_set, bundle):
7063
actual = Helpers.get_actual_result(template, Platform.ANDROID, bundle, 'prepare_initial')
7164
expected = Helpers.get_expected_result(template, Platform.ANDROID, bundle, 'prepare_initial')
72-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Initial android prepare time is not OK.'
65+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Initial android prepare time is not OK.'
7366

7467
@parameterized.expand(TEST_DATA)
7568
@unittest.skipIf(Settings.HOST_OS is not OSType.OSX, 'iOS tests can be executed only on macOS.')
7669
def test_201_prepare_ios_initial(self, template, template_package, change_set, bundle):
7770
actual = Helpers.get_actual_result(template, Platform.iOS, bundle, 'prepare_initial')
7871
expected = Helpers.get_expected_result(template, Platform.iOS, bundle, 'prepare_initial')
79-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Initial ios prepare time is not OK.'
72+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Initial ios prepare time is not OK.'
8073

8174
@parameterized.expand(TEST_DATA)
8275
def test_210_prepare_android_skip(self, template, template_package, change_set, bundle):
8376
actual = Helpers.get_actual_result(template, Platform.ANDROID, bundle, 'prepare_skip')
8477
expected = Helpers.get_expected_result(template, Platform.ANDROID, bundle, 'prepare_skip')
85-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Skip android prepare time is not OK.'
78+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Skip android prepare time is not OK.'
8679

8780
@parameterized.expand(TEST_DATA)
8881
@unittest.skipIf(Settings.HOST_OS is not OSType.OSX, 'iOS tests can be executed only on macOS.')
8982
def test_211_prepare_ios_skip(self, template, template_package, change_set, bundle):
9083
actual = Helpers.get_actual_result(template, Platform.iOS, bundle, 'prepare_skip')
9184
expected = Helpers.get_expected_result(template, Platform.iOS, bundle, 'prepare_skip')
92-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Skip ios prepare time is not OK.'
85+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Skip ios prepare time is not OK.'
9386

9487
@parameterized.expand(TEST_DATA)
9588
def test_220_prepare_android_incremental(self, template, template_package, change_set, bundle):
9689
actual = Helpers.get_actual_result(template, Platform.ANDROID, bundle, 'prepare_incremental')
9790
expected = Helpers.get_expected_result(template, Platform.ANDROID, bundle, 'prepare_incremental')
98-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Incremental android prepare time is not OK.'
91+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Incremental android prepare time is not OK.'
9992

10093
@parameterized.expand(TEST_DATA)
10194
@unittest.skipIf(Settings.HOST_OS is not OSType.OSX, 'iOS tests can be executed only on macOS.')
10295
def test_221_prepare_ios_incremental(self, template, template_package, change_set, bundle):
10396
actual = Helpers.get_actual_result(template, Platform.iOS, bundle, 'prepare_incremental')
10497
expected = Helpers.get_expected_result(template, Platform.iOS, bundle, 'prepare_incremental')
105-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Incremental ios prepare time is not OK.'
98+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Incremental ios prepare time is not OK.'
10699

107100
@parameterized.expand(TEST_DATA)
108101
def test_300_build_android_initial(self, template, template_package, change_set, bundle):
109102
actual = Helpers.get_actual_result(template, Platform.ANDROID, bundle, 'build_initial')
110103
expected = Helpers.get_expected_result(template, Platform.ANDROID, bundle, 'build_initial')
111-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Initial android build time is not OK.'
104+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Initial android build time is not OK.'
112105

113106
@parameterized.expand(TEST_DATA)
114107
@unittest.skipIf(Settings.HOST_OS is not OSType.OSX, 'iOS tests can be executed only on macOS.')
115108
def test_301_build_ios_initial(self, template, template_package, change_set, bundle):
116109
actual = Helpers.get_actual_result(template, Platform.iOS, bundle, 'build_initial')
117110
expected = Helpers.get_expected_result(template, Platform.iOS, bundle, 'build_initial')
118-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Initial ios build time is not OK.'
111+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Initial ios build time is not OK.'
119112

120113
@parameterized.expand(TEST_DATA)
121114
def test_310_build_android_incremental(self, template, template_package, change_set, bundle):
122115
actual = Helpers.get_actual_result(template, Platform.ANDROID, bundle, 'build_incremental')
123116
expected = Helpers.get_expected_result(template, Platform.ANDROID, bundle, 'build_incremental')
124-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Incremental android build time is not OK.'
117+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Incremental android build time is not OK.'
125118

126119
@parameterized.expand(TEST_DATA)
127120
@unittest.skipIf(Settings.HOST_OS is not OSType.OSX, 'iOS tests can be executed only on macOS.')
128121
def test_311_build_ios_incremental(self, template, template_package, change_set, bundle):
129122
actual = Helpers.get_actual_result(template, Platform.iOS, bundle, 'build_incremental')
130123
expected = Helpers.get_expected_result(template, Platform.iOS, bundle, 'build_incremental')
131-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Incremental ios build time is not OK.'
124+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Incremental ios build time is not OK.'
132125

133126

134127
class PrepareBuildInfo(object):
@@ -147,43 +140,43 @@ def prepare_and_build(template, platform, bundle, change_set, result_file):
147140
prepare_incremental = 0
148141
build_initial = 0
149142
build_incremental = 0
150-
for i in range(retry_count):
143+
for _ in range(RETRY_COUNT):
151144
Tns.kill()
152145
Gradle.kill()
153146
Npm.cache_clean()
154147
Xcode.cache_clean()
155-
Folder.clean(folder=os.path.join(Settings.TEST_RUN_HOME, app_name))
156-
Tns.create(app_name=app_name, template=template, update=True)
148+
Folder.clean(folder=os.path.join(Settings.TEST_RUN_HOME, APP_NAME))
149+
Tns.create(app_name=APP_NAME, template=template, update=True)
157150
if platform == Platform.ANDROID:
158-
Tns.platform_add_android(app_name=app_name, framework_path=Settings.Android.FRAMEWORK_PATH)
151+
Tns.platform_add_android(app_name=APP_NAME, framework_path=Settings.Android.FRAMEWORK_PATH)
159152
elif platform == Platform.IOS:
160-
Tns.platform_add_ios(app_name=app_name, framework_path=Settings.IOS.FRAMEWORK_PATH)
153+
Tns.platform_add_ios(app_name=APP_NAME, framework_path=Settings.IOS.FRAMEWORK_PATH)
161154
else:
162155
raise Exception('Unknown platform: ' + str(platform))
163156

164157
# Prepare
165-
time = Tns.prepare(app_name=app_name, platform=platform, bundle=bundle).duration
158+
time = Tns.prepare(app_name=APP_NAME, platform=platform, bundle=bundle).duration
166159
prepare_initial = prepare_initial + time
167-
time = Tns.prepare(app_name=app_name, platform=platform, bundle=bundle).duration
160+
time = Tns.prepare(app_name=APP_NAME, platform=platform, bundle=bundle).duration
168161
prepare_skip = prepare_skip + time
169-
Sync.replace(app_name=app_name, change_set=change_set)
170-
time = Tns.prepare(app_name=app_name, platform=platform, bundle=bundle).duration
162+
Sync.replace(app_name=APP_NAME, change_set=change_set)
163+
time = Tns.prepare(app_name=APP_NAME, platform=platform, bundle=bundle).duration
171164
prepare_incremental = prepare_incremental + time
172165

173166
# Build
174-
time = Tns.build(app_name=app_name, platform=platform, bundle=bundle).duration
167+
time = Tns.build(app_name=APP_NAME, platform=platform, bundle=bundle).duration
175168
build_initial = build_initial + time
176-
Sync.revert(app_name=app_name, change_set=change_set)
177-
time = Tns.build(app_name=app_name, platform=platform, bundle=bundle).duration
169+
Sync.revert(app_name=APP_NAME, change_set=change_set)
170+
time = Tns.build(app_name=APP_NAME, platform=platform, bundle=bundle).duration
178171
build_incremental = build_incremental + time
179172

180173
# Calculate averages
181174
result = PrepareBuildInfo()
182-
result.prepare_initial = prepare_initial / retry_count
183-
result.prepare_skip = prepare_skip / retry_count
184-
result.prepare_incremental = prepare_incremental / retry_count
185-
result.build_initial = build_initial / retry_count
186-
result.build_incremental = build_incremental / retry_count
175+
result.prepare_initial = prepare_initial / RETRY_COUNT
176+
result.prepare_skip = prepare_skip / RETRY_COUNT
177+
result.prepare_incremental = prepare_incremental / RETRY_COUNT
178+
result.build_initial = build_initial / RETRY_COUNT
179+
result.build_incremental = build_incremental / RETRY_COUNT
187180

188181
# Save to results file
189182
File.delete(path=result_file)
@@ -206,4 +199,4 @@ def get_actual_result(template, platform, bundle, entry):
206199
def get_expected_result(template, platform, bundle, entry):
207200
if bundle:
208201
platform = str(platform) + '_bundle'
209-
return expected_results[template][platform][entry]
202+
return EXPECTED_RESULTS[template][platform][entry]

tests/perf/build/create_perf_tests.py

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1+
# pylint: disable=unused-argument
2+
# pylint: disable=undefined-variable
3+
14
import os
25

36
from core.base_test.tns_test import TnsTest
47
from core.settings import Settings
5-
from core.utils.file_utils import Folder
6-
from core.utils.git import Git
78
from core.utils.json_utils import JsonUtils
89
from core.utils.npm import Npm
910
from core.utils.perf_utils import PerfUtils
1011
from data.templates import Template
1112
from products.nativescript.tns import Tns
1213

13-
retry_count = 3
14-
tolerance = 0.20
15-
app_name = Settings.AppName.DEFAULT
16-
expected_results = JsonUtils.read(os.path.join(Settings.TEST_RUN_HOME, 'tests', 'perf', 'data.json'))
14+
RETRY_COUNT = 3
15+
TOLERANCE = 0.20
16+
APP_NAME = Settings.AppName.DEFAULT
17+
EXPECTED_RESULTS = JsonUtils.read(os.path.join(Settings.TEST_RUN_HOME, 'tests', 'perf', 'data.json'))
1718

1819

1920
# noinspection PyMethodMayBeStatic
@@ -33,26 +34,23 @@ def tearDownClass(cls):
3334

3435
def test_001_create_js_app(self):
3536
actual = PerfUtils.get_average_time(
36-
lambda: Tns.create(app_name=app_name, template=Template.HELLO_WORLD_JS.local_package, update=False),
37-
retry_count=retry_count)
38-
expected = expected_results['hello-world-js']['create']
39-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'JS Hello Word project create time is not OK.'
37+
lambda: Tns.create(app_name=APP_NAME, template=Template.HELLO_WORLD_JS.local_package, update=False),
38+
retry_count=RETRY_COUNT)
39+
expected = EXPECTED_RESULTS['hello-world-js']['create']
40+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'JS Hello Word project create time is not OK.'
4041

4142
def test_002_create_ng_app(self):
4243
actual = PerfUtils.get_average_time(
43-
lambda: Tns.create(app_name=app_name, template=Template.HELLO_WORLD_NG.local_package, update=False),
44-
retry_count=retry_count)
45-
expected = expected_results['hello-world-ng']['create']
46-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'NG Hello Word project create time is not OK.'
44+
lambda: Tns.create(app_name=APP_NAME, template=Template.HELLO_WORLD_NG.local_package, update=False),
45+
retry_count=RETRY_COUNT)
46+
expected = EXPECTED_RESULTS['hello-world-ng']['create']
47+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'NG Hello Word project create time is not OK.'
4748

4849
def test_010_create_master_detail_app(self):
49-
local_folder = os.path.join(Settings.TEST_SUT_HOME, Template.MASTER_DETAIL_NG.name)
50-
local_package = os.path.join(Settings.TEST_SUT_HOME, Template.MASTER_DETAIL_NG.name + '.tgz')
51-
Folder.clean(local_folder)
52-
Git.clone(repo_url=Template.MASTER_DETAIL_NG.repo, local_folder=local_folder)
53-
Npm.pack(folder=local_folder, output_file=local_package)
54-
Folder.clean(local_folder)
55-
actual = PerfUtils.get_average_time(lambda: Tns.create(app_name=app_name, template=local_package, update=False),
56-
retry_count=retry_count)
57-
expected = expected_results['master-detail-ng']['create']
58-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'MasterDetailNG project create time is not OK.'
50+
actual = PerfUtils.get_average_time(
51+
lambda: Tns.create(app_name=APP_NAME,
52+
template=Template.MASTER_DETAIL_NG.local_package,
53+
update=False),
54+
retry_count=RETRY_COUNT)
55+
expected = EXPECTED_RESULTS['master-detail-ng']['create']
56+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'MasterDetailNG project create time is not OK.'

tests/perf/build/platform_add_perf_tests.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
from data.templates import Template
1111
from products.nativescript.tns import Tns
1212

13-
retry_count = 3
14-
tolerance = 0.20
15-
app_name = Settings.AppName.DEFAULT
16-
expected_results = JsonUtils.read(os.path.join(Settings.TEST_RUN_HOME, 'tests', 'perf', 'data.json'))
13+
RETRY_COUNT = 3
14+
TOLERANCE = 0.20
15+
APP_NAME = Settings.AppName.DEFAULT
16+
EXPECTED_RESULTS = JsonUtils.read(os.path.join(Settings.TEST_RUN_HOME, 'tests', 'perf', 'data.json'))
1717

1818

1919
# noinspection PyMethodMayBeStatic
@@ -32,23 +32,24 @@ def tearDownClass(cls):
3232

3333
def test_100_platform_add_android(self):
3434
total_time = 0
35-
for i in range(retry_count):
35+
for _ in range(RETRY_COUNT):
3636
Npm.cache_clean()
37-
Tns.create(app_name=app_name, template=Template.HELLO_WORLD_JS.local_package, update=False)
38-
time = Tns.platform_add_android(app_name=app_name, framework_path=Settings.Android.FRAMEWORK_PATH).duration
37+
Tns.create(app_name=APP_NAME, template=Template.HELLO_WORLD_JS.local_package, update=False)
38+
time = Tns.platform_add_android(app_name=APP_NAME, framework_path=Settings.Android.FRAMEWORK_PATH).duration
3939
total_time = total_time + time
40-
actual = total_time / retry_count
41-
expected = expected_results['hello-world-js']['platform_add_android']
42-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Time for platform add android is not OK.'
40+
actual = total_time / RETRY_COUNT
41+
expected = EXPECTED_RESULTS['hello-world-js']['platform_add_android']
42+
assert PerfUtils.is_value_in_range(actual, expected,
43+
EXPECTED_RESULTS), 'Time for platform add android is not OK.'
4344

4445
@unittest.skipIf(Settings.HOST_OS is not OSType.OSX, 'iOS tests can be executed only on macOS.')
4546
def test_101_platform_add_ios(self):
4647
total_time = 0
47-
for i in range(retry_count):
48+
for _ in range(RETRY_COUNT):
4849
Npm.cache_clean()
49-
Tns.create(app_name=app_name, template=Template.HELLO_WORLD_JS.local_package, update=False)
50-
time = Tns.platform_add_ios(app_name=app_name, framework_path=Settings.IOS.FRAMEWORK_PATH).duration
50+
Tns.create(app_name=APP_NAME, template=Template.HELLO_WORLD_JS.local_package, update=False)
51+
time = Tns.platform_add_ios(app_name=APP_NAME, framework_path=Settings.IOS.FRAMEWORK_PATH).duration
5152
total_time = total_time + time
52-
actual = total_time / retry_count
53-
expected = expected_results['hello-world-js']['platform_add_ios']
54-
assert PerfUtils.is_value_in_range(actual, expected, tolerance), 'Time for platform add ios is not OK.'
53+
actual = total_time / RETRY_COUNT
54+
expected = EXPECTED_RESULTS['hello-world-js']['platform_add_ios']
55+
assert PerfUtils.is_value_in_range(actual, expected, TOLERANCE), 'Time for platform add ios is not OK.'

0 commit comments

Comments
 (0)