Commit graph

520 commits

Author SHA1 Message Date
KonstantinKondrashov
3d1e064e1a tools: Add unit tests 2019-01-24 12:13:38 +08:00
Angus Gratton
58acac883d Merge branch 'bugfix/regenerate_sdkconfig_fails' into 'master'
Fix issues with regenerating sdkconfig on modification

Closes #58

See merge request idf/esp-idf!4115
2019-01-24 11:56:52 +08:00
Sagar Bijwe
05220d9cda CMake: Make IDF_PATH available to Kconfiglib when not explicitly set.
When IDF_PATH is not set by the user, cmake infers the same through
other means and sets it as an environment variable. However, some
sub-invocation of cmake may not see this variable as it is not set
in the parent. This change adds a custom command for exporting IDF_PATH
just before invoking ldgen so that IDF_PATH can be used in Kconfig
without any errors.
2019-01-21 17:02:31 +05:30
KonstantinKondrashov
bf925869fe tool: Add unit test for Kconfig gen 2019-01-16 08:16:09 +08:00
Ivan Grokhotkov
1ad8b96fed Merge branch 'bugfix/mqtt_tests_local_broker' into 'master'
MQTT tests: connect to local broker when running in CI to make the tests more reliable

See merge request idf/esp-idf!3926
2019-01-14 16:29:43 +08:00
David Cermak
b13a536041 mqtt tests: connect to local broker when running in CI to make the tests more reliable 2019-01-11 15:30:15 +01:00
Roland Dobai
00eefe0ef3 Check & correct Kconfig files 2019-01-11 13:05:55 +01:00
Ivan Grokhotkov
88dc626fd7 Merge branch 'feature/example_defconfig_ci' into 'master'
ci, examples: use sdkconfig.ci as an extra defaults file, if present

See merge request idf/esp-idf!3934
2018-12-21 12:14:57 +08:00
Angus Gratton
78487123bf Merge branch 'feature/cut_len_for_header_struct' into 'master'
build: Add trimming PROJECT_VER and PROJECT_NAME vars

See merge request idf/esp-idf!3927
2018-12-21 07:45:22 +08:00
Roland Dobai
0ad452e7b7 ci: Multi-device tests cannot run under Python 3 2018-12-20 12:44:33 +01:00
Roland Dobai
bfa9610f58 tools: Fix the Python coding style 2018-12-19 11:56:24 +01:00
Renz Christian Bagaporo
911d2352ac ci: detect command not found build errors 2018-12-17 14:04:49 +08:00
Renz Christian Bagaporo
5511541d20 ci: fix build test with IDF_PATH unset on Windows 2018-12-13 18:20:51 +08:00
Konstantin Kondrashov
c0f5e58bdc build: Add trimming PROJECT_VER and PROJECT_NAME vars 2018-12-11 11:23:53 +08:00
Ivan Grokhotkov
7ecdb1bb27 ci, examples: use sdkconfig.ci as an extra defaults file, if present
- Allows placing CI-specific settings into sdkconfig.ci file
- Allows substituting environment variables in sdkconfig.ci
2018-12-10 16:29:24 +08:00
Anton Maklakov
0652a4b714 ci: Use more pedantic checking for examples and ut 2018-12-10 12:34:16 +08:00
Anton Maklakov
812a49bd0d Merge branch 'bugfix/shell_exit' into 'master'
scripts: Fix shell exit

See merge request idf/esp-idf!3908
2018-12-07 00:49:52 +08:00
Angus Gratton
54532c6189 build example tests: Use portable "sed -i" form 2018-12-06 15:28:18 +11:00
Anton Maklakov
34109c4171 scripts: Fix shell exit. Really exit from current process, not from child process 2018-12-05 21:25:16 +08:00
Angus Gratton
d50af8bd53 Merge branch 'bugfix/no_tests_for_unit_test_example' into 'master'
cmake: fix error in converting project variables to namespaced ones

See merge request idf/esp-idf!3887
2018-12-05 12:58:42 +08:00
Renz Christian Bagaporo
b11238df4d ci: add test for setting EXTRA_COMPONENT_DIRS 2018-12-05 10:51:10 +08:00
Konstantin Kondrashov
3b9cb25fe1 esp32: Add firmware version to app
Added a new structure esp_app_desc_t. It has info about firmware:
version, secure_version, project_name, time/date build and IDF version.
Added the ability to add a custom structure with a description of the firmware.

The esp_app_desc_t is located in fixed place in start of ROM secotor. It is located after structures esp_image_header_t and esp_image_segment_header_t.

app_version is filed from PROJECT_VER variable (if set in custom make file) or PROJECT_PATH/version.txt or git repo (git describe).

Add API to get app_desc from partition.
2018-12-03 16:52:04 +08:00
Angus Gratton
554cf77963 Merge branch 'bugfix/convert_to_cmake' into 'master'
Fix minor issue with convert_to_cmake script

See merge request idf/esp-idf!3666
2018-12-03 11:39:12 +08:00
Mahavir Jain
a3785792eb tools/ci: add test case for convert_to_cmake script
Following issue was already fixed with earlier commit-id f4cfca4353
Here additional build test case is added and marking issue as closed.

Closes: https://github.com/espressif/esp-idf/issues/2660
2018-11-29 15:15:13 +05:30
Renz Christian Bagaporo
b926764385 examples: add otatool and parttool examples 2018-11-28 17:28:20 +08:00
Renz Christian Bagaporo
8ca6904d55 ota: implement otatool functionality 2018-11-28 15:57:20 +08:00
Renz Christian Bagaporo
f1f0bd4b1c ci: update for running cmake examples 2018-11-27 19:56:52 +08:00
Ivan Grokhotkov
a46b884a14 Merge branch 'feature/unit_test_example' into 'master'
Move Unity into components, add unit test example

See merge request idf/esp-idf!3562
2018-11-19 18:35:54 +08:00
Ivan Grokhotkov
6091021e83 unity: separate common and IDF specific functionality
New unity component can be used for testing other applications.
Upstream version of Unity is included as a submodule.
Utilities specific to ESP-IDF unit tests (partitions, leak checking
setup/teardown functions, etc) are kept only in unit-test-app.
Kconfig options are added to allow disabling certain Unity features.
2018-11-19 12:36:31 +08:00
Ivan Grokhotkov
d4ef2135f0 ci: support building examples with external components 2018-11-19 12:36:31 +08:00
Renz Bagaporo
63411fc556 tools: implement linker script generation 2018-11-16 12:42:02 +08:00
Mahavir Jain
79043882d9 tools: fix cmake build script for sdkconfig test 2018-11-14 22:50:12 +08:00
Ivan Grokhotkov
ccfa134533 build system: support for multiple targets 2018-11-11 21:46:02 +08:00
Roland Dobai
e77d15042d CI: Update Python 3 ignore list 2018-11-05 08:11:02 +01:00
Anton Maklakov
0fb6f619c5 ci: Detect undetectable failures in build_examples 2018-11-01 11:38:41 +08:00
Anton Maklakov
124919bfc6 ci: Count build_example jobs in decimal instead of octal 2018-11-01 10:52:19 +08:00
Roland Dobai
9daf51e6be Fix Python 3 compatibility issues 2018-10-24 11:20:54 +02:00
Angus Gratton
7c29a39d6f Merge branch 'feature/ci_multi_python' into 'master'
CI: Support switching between various versions of Python

See merge request idf/esp-idf!3520
2018-10-24 17:00:38 +08:00
Renz Bagaporo
cc774111bf cmake: Add support for test build 2018-10-20 12:07:24 +08:00
Roland Dobai
824e5fac23 CI: Support switching between various versions of Python 2018-10-19 11:12:11 +02:00
Amey Inamdar
3ba8eed60a protobuf-c : Added Google's protocol buffer C library as sub-module
Source https://github.com/protobuf-c/protobuf-c

Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
He Yin Ling
b4fe43912f ci: adjust expire time for CI artifacts:
set shorter time to save some space on server. For those artifacts need
to be stored for long time, we can manually press "keep" button in job page.

Also add a CI job to check if all artifacts have set expire time.
2018-09-29 03:54:14 +00:00
Ivan Grokhotkov
ea7e6bd8f6 Merge branch 'feature/py23_kconfig_new' into 'master'
tools: Make kconfig_new Python3-compatible and enable Python3 in idf.py

See merge request idf/esp-idf!3304
2018-09-27 11:26:32 +08:00
Anton Maklakov
90d4a1d1e9 cmake: Add a compatible old GCC flag, fix the cmake example building 2018-09-20 18:53:15 +08:00
Anton Maklakov
9a55557ad8 build system: Add a compatible old GCC flag 2018-09-20 18:53:14 +08:00
Roland Dobai
173e6aab3e tools: Make kconfig_new Python3-compatible and enable Python3 in idf.py 2018-09-19 08:38:09 +02:00
Angus Gratton
b38a6da74b cmake: Fix some failing example builds, fix gcov 2018-09-19 14:38:19 +10:00
Ivan Grokhotkov
31c14a5ee4 Merge branch 'feature/py3_espcoredump' into 'master'
espcoredump: Add tests and Python3 support

See merge request idf/esp-idf!3212
2018-09-14 12:39:30 +08:00
Renz Christian Bagaporo
946f55db85 cmake: add ulp components build support 2018-09-13 14:54:59 +08:00
David Cermak
23345d2021 MQTT: Integrate esp-mqtt library into idf
added docs and tests for mqtt library, small fixes (removed warnings, option for custom outbox, websocket bug fixed for longer transports). refactored to use common tcp_transport component, support for CMake build system.
Closes #2108
2018-09-12 08:00:59 +02:00
Roland Dobai
b9e1869538 espcoredump: Add tests and Python3 support 2018-09-11 08:53:06 +02:00
Renz Christian Bagaporo
d9939cedd9 cmake: make main a component again 2018-09-11 09:44:12 +08:00
Angus Gratton
cff2ef695a Merge branch 'master' into feature/cmake 2018-09-06 20:23:04 +08:00
Zhang Yan Jiao
3578fe39e0 Feature/sync lwip as submodule 2018-09-06 19:43:08 +08:00
Roland Dobai
9538059f84 CI: Simplify running commands with several versions of Python 2018-09-06 11:50:17 +02:00
Angus Gratton
b1380707e4 Merge branch 'bugfix/ci_github_deploy' into 'master'
ci: Fix spurious pipeline failure when deploying a tag to GitHub

See merge request idf/esp-idf!3021
2018-09-05 18:07:24 +08:00
Angus Gratton
b355854d4d Merge branch 'master' into feature/cmake 2018-09-05 10:35:04 +08:00
Roland Dobai
7cfef29eb8 Docs: Check Python packages 2018-08-30 13:20:42 +02:00
Angus Gratton
5fbfd20f10 Merge branch 'master' into feature/cmake 2018-08-30 18:52:31 +08:00
Angus Gratton
a9c4ed7139 Merge branch 'master' into feature/cmake 2018-08-30 18:51:01 +08:00
Angus Gratton
5689e446dc cmake: Add missing example CMakeLists.txt files, CI check all examples have both 2018-08-29 20:22:55 +08:00
Roland Dobai
5cdff46370 tools: Support Python 3 in idf_size.py 2018-08-27 13:39:07 +02:00
Sachin Parekh
7a5400ce77 make dump_otadata: Displays app ota_seq and crc on console 2018-08-22 16:51:36 +08:00
Angus Gratton
7b4626f824 ci: Fix spurious pipeline failure when deploying a tag to GitHub
Everything succeeds, but because [ -z ${CI_COMMIT_TAG} ] on the last line returns non-zero, it
fails the job.
2018-08-22 13:11:18 +10:00
Angus Gratton
ff2404a272 Merge branch 'master' into feature/cmake 2018-08-16 17:14:17 +10:00
Tian Hao
ab73e0ff13 tools: fix ci example build report reassign warnning 2018-08-16 11:12:22 +08:00
Angus Gratton
50e7b116c1 docs: Add gen-version-specific-includes.py to executables list 2018-08-13 13:37:23 +10:00
Roland Dobai
1d1533ee8e expat: Move libexpat into submodule and update to version 2.2.5 2018-07-31 13:25:00 +02:00
Angus Gratton
321b1e0205 Merge branch 'feature/unit_tests_command_line' into 'master'
tools: Allow running unit tests from command line

See merge request idf/esp-idf!2589
2018-07-31 11:38:22 +08:00
Roland Dobai
40486c8723 tools: Allow running unit tests from command line
Add argument parsing to unit_test.py to allow running unit tests from
command line.
2018-07-30 13:05:41 +02:00
David Cermak
1ef13c524c asio: initial idf port of asio library without ssl 2018-07-30 06:28:43 +00:00
Konstantin Kondrashov
de2b1cb02a make: Add feature to cmd 'make flash' - reset ota_data partition
Add a command `make erase_ota` - erases otadata if it there is in the
partition table otherwise error 'Partition table does not have ota_data partition'.

Closes https://github.com/espressif/esp-idf/issues/1821
2018-07-25 11:22:15 +00:00
Angus Gratton
466ec6d9ac Merge branch 'bugfix/ci_use_mirror_for_public' into 'master'
ci: Use local mirrors on the public branches too

See merge request idf/esp-idf!2836
2018-07-24 12:19:24 +08:00
Anton Maklakov
d5f666dee3 ci: Use local mirrors on the public branches (master, release-) too
Use DONT_USE_MIRROR=1 to force using the original repositories if you need
2018-07-23 17:04:38 +08:00
Shivani Tipnis
35205d8513 Add files and docs for mass mfg 2018-07-20 10:41:11 +05:30
Angus Gratton
74245d27d3 ci: Add line endings check for CRLF in repository 2018-07-12 19:10:37 +08:00
Roland Dobai
c1ae49dda1 Test the IDF Monitor through sockets
Creates a socket by socat and sends tests to the idf_monitor through it.
2018-07-09 08:37:40 +02:00
Piyush Shah
8369bd244b nvs_partition_generator: Modifications to enable using the utility as a Python library
And also use directly as an executable
2018-07-02 15:39:52 +05:30
Angus Gratton
bf10447b82 cmake: Fix issues when IDF_PATH is not set in environment
Support cases where IDF_PATH may be passed in on the cmake command line,
or inferred from a (hardcoded absolute or relative) path to project.cmake
2018-06-18 14:48:03 +10:00
Konstantin Kondrashov
3e0ac4db79 partition_table: Expanding the space under the bootloader
Allows you to move the partition table, it gives more space for the bootloader.
Added a new utility - parttool.py. This utility can search for the offset and/or size of the partitions by name and type/subtype. Use for getting APP_OFFSET and PHY_DATA_OFFSET.
The linker(esp32.bootloader.ld) made changes that allow you to write a custom bootloader code more.

TW14125
2018-06-08 18:47:29 +05:00
Angus Gratton
6065d2fd08 kconfig: Add confserver.py to expose sdkconfig to clients 2018-06-07 14:23:08 +10:00
Angus Gratton
fdccc19485 cmake build system test: Fix path to sdkconfig.h 2018-05-31 14:46:39 +10:00
Angus Gratton
6b9784cc45 Merge branch 'master' into feature/cmake_update 2018-05-31 14:46:23 +10:00
Ivan Grokhotkov
74928b9bcb ci: check for executable flag on source files 2018-05-29 20:07:45 +08:00
Ivan Grokhotkov
e9cbf96bd1 mbedtls: re-add version 2.9.0 as a submodule 2018-05-09 23:15:28 +08:00
Angus Gratton
526496ba20 ci: Allow bot to control branch used for esp-idf-template 2018-05-08 14:44:25 +08:00
Angus Gratton
381be65472 cmake: Build all examples in CI
Includes some fixes for compile errors/warnings in examples.
2018-04-30 10:18:33 +10:00
Angus Gratton
858b95a924 cmake: Add build system tests 2018-04-30 09:59:20 +10:00
Angus Gratton
fa3205737f partition_table: Check configured flash size fits in partition table
Check happens at build time, so flash size config may need to be changed.

Also fixes MD5_OPT undefined warning, closes https://github.com/espressif/esp-idf/issues/1867
2018-04-26 09:51:55 +10:00
Ivan Grokhotkov
9d0751e2b1 ci: support jobs which don’t run unless triggered by name
By default, any job will run unless a filter is given, in that case
the filter will determine if the job should run or not. Some jobs do
not need to be run by default, and should only be triggered using the
bot. For such jobs, BOT_NEEDS_TRIGGER_BY_NAME can added to
environment variables.
2018-04-19 15:08:08 +08:00
Ivan Grokhotkov
96b4a45cde Merge branch 'feature/remove_make_dependency_on_git' into 'master'
make: remove build system dependency on `git` using some hooks

See merge request idf/esp-idf!2211
2018-04-19 13:01:12 +08:00
Ivan Grokhotkov
790049b3dd build: remove some debug lines printed when V=0
With V=0, build process would print “including .../Makefile.projbuild" lines, causing problems for print_flash_cmd target.
The issue was due to the way macro expansion works in make. To delay evaluation of info function until the execution of expanded block, two dollar signs are required.
Test for print_flash_cmd target added.
2018-04-17 08:04:38 +08:00
Mahavir Jain
4a7ca68596 tools/ci: add test case for build without dependency on git
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-13 17:15:17 +05:30
Ivan Grokhotkov
bcbcdf6f99 build: fix excluding source files outside of component root
Since !2190, source files located outside of the component root
produce object files inside build directory. This change fixes
handling of COMPONENT_OBJEXCLUDE variable for such files. Tests are
added.
2018-04-12 14:28:54 +08:00
Anton Maklakov
f3d61015f7 build: Fix problems with building kconfig and generating sdkconfig
We had some problems:
    simultaneous compiling of kconfig in the same tree;
    attempt to use menuconfig in some examples and ut in batch mode (w/o interactive console)

Also increase debug abilities in CI:
    force non-interactive building;
    add variable DEBUG_SHELL to toggle verbosity of scripts
2018-03-28 10:39:20 +08:00
Angus Gratton
11bf72aace Update cJSON to v1.7.1
* Fix buffer overflow issue in cJSON 1.6.0
* Change cJSON structure to git submodule

Closes https://github.com/espressif/esp-idf/issues/1577
2018-02-05 14:15:26 +08:00
Anton Maklakov
b902d00fa0 CI: Fix an occasional error caused by reordering the commands along with 'tee' in the script 2018-01-05 12:46:34 +08:00
Anton Maklakov
20616fc0f5 CI: Fix a sporadic bug when building of the examples. Add logs to the artifacts 2017-12-28 19:20:48 +08:00
He Yin Ling
c6f7a38536 CI: support customize test with @bot 2017-11-08 11:36:16 +08:00
He Yin Ling
cd1223a25e CI: integrate example test to CI 2017-10-31 19:16:26 +08:00
Angus Gratton
53d12a6212 build system tests: Don't unix2dos .git files, build directories 2017-09-20 18:21:29 +10:00
Angus Gratton
85ce07e6fd build system: Fix bad partial builds after updates, sdkconfig changes
Fixes accidental regression merging 9903ea1c11.

Add test case for this kind of rebuilding.
2017-09-20 18:11:15 +10:00
me-no-dev
dd87deb278 Add SPIFFS Component to IDF 2017-09-11 19:56:40 +03:00
Angus Gratton
867b20837f build system: Explicitly disallow 'clean' along with non-cleaning targets
Too hard to stage the dependencies so that all clean steps complete before any build steps begin. Also, using and then
deleting and then regenerating SDKCONFIG_MAKEFILE in one pass is really hard to manage successfully.
2017-09-04 17:40:15 +10:00
Angus Gratton
97efaab27b build system tests: Run inside PWD same as build_examples.sh 2017-09-04 17:40:15 +10:00
Angus Gratton
2544355301 build_examples: Small cleanups
* Override MAKEFLAGS via make not via shell variables
* Remove build_examples in gitlab-ci
* Don't use mktemp for any logs
2017-09-04 17:40:15 +10:00
Ivan Grokhotkov
3d8390fa8a ci: put example log files on the build volume 2017-08-31 23:00:48 +08:00
Anton Maklakov
618e56abf9 CI: Fix the spell for more reliable getting the sources 2017-08-21 11:52:49 +08:00
Anton Maklakov
341cc8221c CI: Make the list of examples permanent between jobs
Because the results of the 'find' command are not sorted by name.
2017-07-20 16:46:49 +08:00
Angus Gratton
b88c8d19fd Merge branch 'bugfix/project_makefile_recompile' into 'master'
build system: Updating project Makefile should trigger a full rebuild

See merge request !990
2017-07-20 10:10:00 +08:00
Angus Gratton
d664e32394 build system: Use component.mk for all components, refactor bootloader build
For config-only components, component.mk should now contain "COMPONENT_CONFIG_ONLY := 1"

Also refactored some of the generation of linker paths, library list. This required cleaning up the way the bootloader
project works, it's now mostly independent from the parent.
2017-07-19 09:10:48 +10:00
Angus Gratton
b7fc16a408 build system: Updating project Makefile should trigger a full rebuild
Project Makefile can set CFLAGS, macro defines, etc.
2017-07-13 10:51:24 +08:00
Anton Maklakov
3cd10899e6 CI: Work around problem with running the initial 'make clean' in parallel (#18)
Just don't pass '-j' to the 'make clean' command
2017-07-07 11:03:25 +08:00
Anton Maklakov
f0b6256490 build: Fix test for the first time 'make clean' and error handling in build_examples
Now the tests do not pass

    Before we had incorrect code of the error code checking
    in build_examples.sh for that case and did nothing in test_build_system.sh.
2017-07-07 11:03:25 +08:00
Anton Maklakov
2a6b7794ab CI: Fix the unbound variables in scripts 2017-07-06 18:52:08 +08:00
Anton Maklakov
f194a6bdba CI: Fix the getting sources
Fix the getting sources for a case if the required commit is missed
    in the remote submodule repository.

    Also add more diagnostic.
2017-07-06 16:48:07 +08:00
Anton Maklakov
8dc340d2ea CI: Add script for synchronization of the local mirrors for submodules
You should use it manually when any submodule in the esp-idf has changed

    You can mark to exclude some of them in mirror-list.txt
2017-06-30 12:07:06 +08:00
Anton Maklakov
52445ee541 CI: Use local mirrors for submodules
The CI uses the mirror-submodule-update.sh for non-permanent reassignment
    of 3rdparty sub-modules to local mirrors (only for 'non-master' branches).
    List of the mirrors in mirror-list.txt

    You can use the script locally to speed up data retrieval on network problems

    check_submodule_sync job uses 'GIT_STRATEGY: clone' to check the availability of public sources
2017-06-30 12:06:02 +08:00
Angus Gratton
f52519d7a2 CI: Use custom get_full_sources.sh script instead of gitlab-ci's strategies
Work around problems caused by failed submodule clones corrupting
    the working directory on the build runner.

    Add 10 retries for cloning submodules.
2017-06-30 12:05:17 +08:00
Anton Maklakov
35609de417 CI: Move the ci-related staff to a separate directory 2017-06-30 11:57:07 +08:00