-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lkft-android: add cts vts templates for android-mainline projects #247
Conversation
c58b939
to
8f1612b
Compare
maybe do something similar with cts/vts like kselftest and/or ltp does? |
I think the current changes are after the reference to the kselftest/ltp files, which parts you think still need to be updated? |
Yes, have a master/template-...yaml.jinja2 file and then work from there like kselftest/ltp and others does it. |
it's OK to move lava_test_plans/testcases/android-cts.yaml and lava_test_plans/testcases/android-cts.yaml to lava_test_plans/testcases/master/template-android-cts.yaml and lava_test_plans/testcases/master/template-android-vts.yaml, do you have any comments on the content of the files besides the path change? |
no, thats not what I meant. what I mean is that you can have one file for both vts and cts inside testcases/master/template-android-blah.yaml |
http://ix.io/4tfv maybe something like this, then it starts to look like kselftest or ltp and others.... |
8f1612b
to
0a65ee2
Compare
@@ -0,0 +1,13 @@ | |||
{% extends "testcases/master/template-android-xts.jinja2" %} | |||
|
|||
{% if TEST_CTS_URL is defined %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you shouldn't need this if.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
@@ -0,0 +1,13 @@ | |||
{% extends "testcases/master/template-android-xts.jinja2" %} | |||
|
|||
{% if TEST_VTS_URL is defined %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you shouldn't need this if either.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
@@ -0,0 +1,46 @@ | |||
{% extends "testcases/master/template-master.jinja2" %} | |||
|
|||
{% if xts_test_url is defined %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not needed here either or
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
{% endblock metadata %} | ||
|
||
{% block test_target %} | ||
{% if TEST_XTS_URL is defined %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't be needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
path: {{xts_test_definition_path}} | ||
params: | ||
TEST_PARAMS: {% block xts_test_params %}{{xts_test_params}}{% endblock xts_test_params %} | ||
TEST_URL: "{{TEST_XTS_URL}}/{{xts_pkg_name}}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be test_xts_url and not TEST_XTS_URL
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, updated
3a1d16f
to
a295023
Compare
test/test_lava_test_plans.py
Outdated
@@ -11,7 +11,10 @@ | |||
|
|||
# all tests all devices |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe change this to "# all Linux tests all devices".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
test/test_lava_test_plans.py
Outdated
testcases = [ os.path.basename(d) \ | ||
for d in glob.glob("lava_test_plans/testcases/*.yaml") \ | ||
if not d.startswith("lava_test_plans/testcases/android-") | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe like this
-testcases = [os.path.basename(d) for d in glob.glob("lava_test_plans/testcases/.yaml")]
+testcases = [os.path.basename(d) for d in glob.glob("lava_test_plans/testcases/[!android-].yaml")]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it works with "[!android-]*.yaml"", but I could not read it as [] are normally used for ranges:(
|
||
{% set test_timeout = 480 %} | ||
{% set test_name = "cts-lkft" %} | ||
{% set cts_test_plan = "cts-lkft" %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what makes this a cts-lkft test and not just a regular cts test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
non lkft-android project does not need to run this job. or say they might have their plans on what test modules to be run.
{## the test_suite_name is a part of the path of the lava result ##} | ||
{% set xts_test_suite_name = xts_test_suite_name|default(test_name) %} | ||
{% set xts_test_path = xts_test_path|default("xts-path") %} | ||
{% set xts_pkg_name = xts_pkg_name|default("android-xts.zip") %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like the path and zip file is more or less the same... maybe drop one variable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's keep two variables here, the zip file name is not always like android-cts.zip, there are other places do the renaming for the current setup, maybe some time later the workaround there could be dropped
|
||
{% block metadata %} | ||
{{ super() }} | ||
{{xts_metadata_prefix}}-url: "{{ xts_test_url }}/android-cts.zip" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
xts_pkg_name?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks! updated.
--include-filter CtsSystemUiRenderingTestCases | ||
--include-filter CtsUsbTests | ||
--disable-reboot | ||
{% endblock xts_test_params %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see this as a different android-cts-no-bionic-libcore.yaml test in the testcases directory.
Same with the others.
And not in the projects/lkft-android/ dir.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there will be more workaround files like this to be added later, they are just specific to the lkft-android project or even specific to some android version of some device like the x15 master version here. it's better to put such files under the lkft-android project. otherwise it will make the testcases directory messy with many such one case specific files there.
73059ce
to
f1017ab
Compare
{% set xts_test_suite_name = xts_test_suite_name|default("cts-lkft") %} | ||
{% set xts_test_path = xts_test_path|default("android-cts") %} | ||
{% set xts_pkg_name = xts_pkg_name|default("android-cts.zip") %} | ||
{% set xts_expect_reboot = xts_expect_reboot|default(false) %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not needed. just remove the line
{% extends "testcases/android-cts.yaml" %} | ||
|
||
{% set test_timeout = 480 %} | ||
{% set test_name = "cts-lkft" %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what makes this a lkft job?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not get your point, why do you think it is not a lkft job?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what makes these jobs lkft specific or can 'lkft' be dropped from the test_name ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you could see there are a list of modules specified here, it's called the cts-lkft test plan, which is specific to the lkft project as it's defined by the lkft project,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, 1, random cts include-filters enabled that we decided are good to enable, cts-lkft isn't a describing name for this testcase. lkft in the testcase at all isn't describing for what the test does.
lkft is a project not a testcase.
- that you have cts-lkft as a test_name in two different test will mess up the results in LAVA right? Two suites with the same name or?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- this test case and others are only for the lkft project, and cts-lkft is currently used to described that since the beginning, lkft is a project name, but why it could not be used to define the testcase?
- yes, which is required to find the history path in squad automatically.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you are correct.
However, its not needed to have cts-lkft in the job-name, since if you look at how that is built up there is already project which contains lkft-android...
And the filename should probably not be named android-cts-lkft.yaml either.
Yes its the lkft project that have defined this set of include-filters in some way.
Either add a more descriptive name or maybe call it cts-smoke since that's what it looks like.
Since you said that you will add more cts tests, like android-cts-part1, android-cts-part2, android-cts-part3... android-cts-partN.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cts-lkft is the best option for both the job name and the file name here.
smoke is a generic name that should be able to be used for any projects,
This is the cts-lkft plan, for the lkft project, other projects could use it, but it's still the cts-lkft test plan.
f1017ab
to
95bac6e
Compare
{% set xts_test_suite_name = xts_test_suite_name|default("cts-lkft") %} | ||
{% set xts_test_path = xts_test_path|default("android-cts") %} | ||
{% set xts_pkg_name = xts_pkg_name|default("android-cts.zip") %} | ||
{% set xts_metadata_prefix = xts_metadata_prefix|default("cts") %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please move this file to lava_test_plans/testcases/master/template-android-cts.jinja2
and make it a template.
{% set xts_test_path = xts_test_path|default("android-vts") %} | ||
{% set xts_pkg_name = xts_pkg_name|default("android-vts.zip") %} | ||
{% set xts_expect_reboot = xts_expect_reboot|default(true) %} | ||
{% set xts_metadata_prefix = xts_metadata_prefix|default("vts") %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please move this file to lava_test_plans/testcases/master/template-android-vts.jinja2
and make it a template.
{% set xts_result_format = xts_result_format|default("aggregated") %} | ||
{% set xts_test_definition_path = xts_test_definition_path|default("automated/android/noninteractive-tradefed/tradefed.yaml") %} | ||
{% set xts_metadata_prefix = xts_metadata_prefix|default('xts') %} | ||
{% set xts_version = xts_version|default("xts-version-unknown") %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A lot of the "dummy defaults" isn't needed here.
Since you said that people should use the template-android-(c|v)ts.jinja2 and not the xtx.jinja2 template.
lava_test_plans/testcases/android-cts-lkft-no-bionic-libcore.yaml
Outdated
Show resolved
Hide resolved
95bac6e
to
416f30a
Compare
{% extends "testcases/android-cts.yaml" %} | ||
|
||
{% set test_timeout = 480 %} | ||
{% set test_name = "cts-lkft" %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, 1, random cts include-filters enabled that we decided are good to enable, cts-lkft isn't a describing name for this testcase. lkft in the testcase at all isn't describing for what the test does.
lkft is a project not a testcase.
- that you have cts-lkft as a test_name in two different test will mess up the results in LAVA right? Two suites with the same name or?
lava_test_plans/testcases/master/template-android-cts.yaml.jinja2
Outdated
Show resolved
Hide resolved
lava_test_plans/testcases/master/template-android-xts.yaml.jinja2
Outdated
Show resolved
Hide resolved
lava_test_plans/testcases/master/template-android-xts.yaml.jinja2
Outdated
Show resolved
Hide resolved
416f30a
to
56b277c
Compare
56b277c
to
c96f63e
Compare
lava_test_plans/testcases/master/template-android-xts.yaml.jinja2
Outdated
Show resolved
Hide resolved
{% extends "testcases/android-cts.yaml" %} | ||
|
||
{% set test_timeout = 480 %} | ||
{% set test_name = "cts-lkft" %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you are correct.
However, its not needed to have cts-lkft in the job-name, since if you look at how that is built up there is already project which contains lkft-android...
And the filename should probably not be named android-cts-lkft.yaml either.
Yes its the lkft project that have defined this set of include-filters in some way.
Either add a more descriptive name or maybe call it cts-smoke since that's what it looks like.
Since you said that you will add more cts tests, like android-cts-part1, android-cts-part2, android-cts-part3... android-cts-partN.
c96f63e
to
45ef45e
Compare
Please address this comment too. However, its not needed to have cts-lkft in the job-name, since if you look at how that is built up there is already project which contains lkft-android... And the filename should probably not be named android-cts-lkft.yaml either. |
@liuyq It would be better to break down the android-cts packages as -part1, -part2 etc instead of adding lkft as a test name. There is no relation between the subset vs the name "lkft" |
@vishalbhoj @roxell basically, there are 3 cts plans will be run for the lkft projects, the full cts, the cts-presubmit, the cts-lkft, the full cts and the cts-presubmit test plans will be run bi-weekly, and the cts-lkft will be run for every build except the bi-weekly builds. the full cts and the cts-presubmit are test plans supported by the cts package by default, while the cts-lkft test plan is a set of modules defined for lkft project, it's not a break down of the full cts plan or the cts-presubmit plan, it should be seen the same thing as the cts or the cts-presubmit, it's a plan name. For the full cts and cts-presubmit, they are broken down as several parts, not lkft there. That's why I think cts-lkft is the best option for both the job names and file names. |
Is there some reason that you don't want to change? |
No good reason to change it to others. |
ec160ec
to
bf30d85
Compare
Hi, @roxell @vishalbhoj |
which could be used by default to run the full cts vts package, And these files are generic files, will be reused by other projects via the extentds Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
to run the vts-kernel test plan for android platforms Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
bf30d85
to
2ecc12b
Compare
The cts vts templates added here are generic templates which will be used by many other projects as well