Skip to content
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

New exporter build tests #2754

Merged
merged 1 commit into from
Sep 22, 2016
Merged

New exporter build tests #2754

merged 1 commit into from
Sep 22, 2016

Conversation

sarahmarshy
Copy link
Contributor

@sarahmarshy sarahmarshy commented Sep 20, 2016

Description

Export-build test now exports projects in parallel. It is also capable of testing the export of mbed-os tests. They can be found in the mbed-os/TESTS. The targets and tests are by default those from the latest release, though you can specify previous releases.

Status

READY

Migrations

Running export-build tests

python tools/test/export/build_test.py --release 2 -n MBED_BLINKY (blinky is default for release 2)
python tools/test/export/build_test.py --release 5 -os-tests tests-mbedmicro-rtos-mbed-basic (though 5 is default release, and this basic test is the default test for release 5)

You will need to add 2 environment variables:
Please add UV4.exe and IarBuild.exe as variables UV4 and IARBUILD, respectively.
On Windows:
UV4 is usually found in:
C:\Keil_v5\UV4\UV4.exe

IarBuild is usually found in:
C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.x\common\bin\IarBuild.exe

YES

Related PRs

List related PRs against other branches:
cherry picked changes from #2708

Changes

  • Parallel export
  • mbed-os tests added
  • specified release version (default to 5)
  • default tests AND targets dependent on specified release version

@bridadan

@sarahmarshy sarahmarshy changed the title New build tests. New exporter build tests Sep 20, 2016
Copy link
Contributor

@theotherjimmy theotherjimmy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like most of the changes, but I don't like creating objects that attach no extra meaning to the data they hold.

self.mcu = mcu
self.name = name
self.id = test_num
self.src = src
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This class is just a named tuple or something similar, do we need it?

tests.append(TestCase(ide, mcu, TESTS[test]["id"],
test_num=test))
for test in v5_tests:
tests.append(TestCase(ide, mcu, test[0], src=[test[1],ROOT]))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given it's use case, just make it a dict or a named tuple.

@bridadan
Copy link
Contributor

/morph export-build

@mbed-bot
Copy link

Result: ABORTED

Your command has finished executing! Here's what you wrote!

/morph export-build

@bridadan
Copy link
Contributor

/morph export-build

@mbed-bot
Copy link

Result: FAILURE

Your command has finished executing! Here's what you wrote!

/morph export-build

@bridadan
Copy link
Contributor

So awesome enough, uVision was all passing (besides the skipped targets)!

IAR has quite a bit of failures, this is due to the IAR issues listed here, right @sarahmarshy ?

@sarahmarshy
Copy link
Contributor Author

/morph export-build

@mbed-bot
Copy link

Result: FAILURE

Your command has finished executing! Here's what you wrote!

/morph export-build

@bridadan
Copy link
Contributor

Running now with the --release 2 flag enabled

/morph export-build

@mbed-bot
Copy link

Result: ABORTED

Your command has finished executing! Here's what you wrote!

/morph export-build

@bridadan
Copy link
Contributor

/morph export-build

@mbed-bot
Copy link

Result: FAILURE

Your command has finished executing! Here's what you wrote!

/morph export-build

Copy link
Contributor

@bridadan bridadan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uVision is all passing for --release 2. There's a lot of skipped targets but that's probably ok @sarahmarshy ? When is a target skipped?

IAR had failures, in fact it had more failures, but that's only because we weren't testing those platforms before 😄

If @sarahmarshy and @theotherjimmy are happy with this after looking at the results then so am I!

@sarahmarshy
Copy link
Contributor Author

Target is skipped if it doesn't have a progen definition (https://github.com/project-generator/project_generator_definitions) for that particular IDE

@bridadan
Copy link
Contributor

@sg- Looks like we're good to merge here.

@sg-
Copy link
Contributor

sg- commented Sep 22, 2016

@sarahmarshy looks like it needs a rebase and conflict resolved.

*Changes*
- Parallel export
- mbed-os tests added
- specified release version (default to 5)
- default tests AND targets dependent on specified release version
@sarahmarshy
Copy link
Contributor Author

@sg- rebased.

@sarahmarshy
Copy link
Contributor Author

sarahmarshy commented Sep 22, 2016

@bridadan the test for uvision5 will be uvision now, with this rebased on Marcelo's changes.

@bridadan
Copy link
Contributor

@sarahmarshy Thanks for the heads up, I made the change and I'll go ahead and kick off one more test.

/morph export-build

@bridadan
Copy link
Contributor

@sarahmarshy I'm looking at the interim results and IAR looks to be all failing at the moment with these kind of errors:

10:47:01 Error while running C/C++ Compiler

10:47:01 ssl_tls.c 

10:47:01 [Su004]: Illegal combination

10:47:01      --no_static_destruction

10:47:01    may not be used unless at least one of

10:47:01      --ec++

10:47:01      --eec++

10:47:01      --c++

10:47:01    is used

Pretty sure this was introduced with PR #2745 (which coincidentally, we didn't run the export-build test 😞 )

Any idea why this works in the mbed build system but not in IAR?

@mbed-bot
Copy link

Result: ABORTED

Your command has finished executing! Here's what you wrote!

/morph export-build

@bridadan
Copy link
Contributor

@sarahmarshy Also had to kill the exporter test for uvision, looks like it started to hang when the mbed build system started up for another job. The IAR results should still be useful to you

@sarahmarshy
Copy link
Contributor Author

sarahmarshy commented Sep 22, 2016

From the command line output of build system I see --c++ --no_rtti --no_exceptions --guard_calls --no_static_destruction, need to look into why that isn't passed to to IAR project flags.

@sarahmarshy
Copy link
Contributor Author

sarahmarshy commented Sep 22, 2016

Exporters pick up the flags from here. --c++ manually appended here for the build system. Working on a fix...

@sarahmarshy
Copy link
Contributor Author

@bridadan will be a separate PR though.

@bridadan
Copy link
Contributor

@sarahmarshy makes sense to me!

@sarahmarshy
Copy link
Contributor Author

Fix in #2787

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants