This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
The following commit(s) were added to refs/heads/master by this push: new 204326c23 porting fake function framework 204326c23 is described below commit 204326c236b03c7109ec7f9c8b6f820a5f454a28 Author: zhangchao53 <zhangcha...@xiaomi.com> AuthorDate: Wed Jul 17 09:58:05 2024 +0800 porting fake function framework --- testing/fff/.gitignore | 2 ++ testing/fff/CMakeLists.txt | 49 ++++++++++++++++++++++++++++++++++++++++++++++ testing/fff/Kconfig | 10 ++++++++++ testing/fff/Make.defs | 25 +++++++++++++++++++++++ testing/fff/Makefile | 38 +++++++++++++++++++++++++++++++++++ 5 files changed, 124 insertions(+) diff --git a/testing/fff/.gitignore b/testing/fff/.gitignore new file mode 100644 index 000000000..52fa99adf --- /dev/null +++ b/testing/fff/.gitignore @@ -0,0 +1,2 @@ +/fff +/*.zip diff --git a/testing/fff/CMakeLists.txt b/testing/fff/CMakeLists.txt new file mode 100644 index 000000000..d69a69d79 --- /dev/null +++ b/testing/fff/CMakeLists.txt @@ -0,0 +1,49 @@ +# ############################################################################## +# apps/testing/fff/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +if(CONFIG_TESTING_FFF) + + set(FFF_UNPACK ${CMAKE_CURRENT_LIST_DIR}/fff) + set(FFF_URL https://github.com/meekrosoft/fff/archive/refs/heads/master.zip) + + if(NOT EXISTS ${FFF_UNPACK}) + + FetchContent_Declare( + fff_fetch + URL ${FFF_URL} SOURCE_DIR ${FFF_UNPACK} BINARY_DIR + ${CMAKE_BINARY_DIR}/apps/testing/fff/fff + DOWNLOAD_NO_PROGRESS true + TIMEOUT 30) + + FetchContent_GetProperties(fff_fetch) + if(NOT fff_fetch_POPULATED) + FetchContent_Populate(fff_fetch) + endif() + + endif() + + set(INCDIR ${FFF_UNPACK}) + + set_property( + TARGET nuttx + APPEND + PROPERTY NUTTX_INCLUDE_DIRECTORIES ${INCDIR}) + +endif() diff --git a/testing/fff/Kconfig b/testing/fff/Kconfig new file mode 100644 index 000000000..e5e897c38 --- /dev/null +++ b/testing/fff/Kconfig @@ -0,0 +1,10 @@ +# +# For a description of the syntax of this configuration file, +# see the file kconfig-language.txt in the NuttX tools repository. +# + +config TESTING_FFF + tristate "Enable FakeFunctionFramework" + default n + ---help--- + Enable FakeFunctionFramework diff --git a/testing/fff/Make.defs b/testing/fff/Make.defs new file mode 100644 index 000000000..64be55f8a --- /dev/null +++ b/testing/fff/Make.defs @@ -0,0 +1,25 @@ +############################################################################ +# apps/testing/fff/Make.defs +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################ + +ifneq ($(CONFIG_TESTING_FFF),) +CONFIGURED_APPS += $(APPDIR)/testing/fff +CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/testing/fff/fff +CXXFLAGS += ${INCDIR_PREFIX}$(APPDIR)/testing/fff/fff +endif diff --git a/testing/fff/Makefile b/testing/fff/Makefile new file mode 100644 index 000000000..6f1686d49 --- /dev/null +++ b/testing/fff/Makefile @@ -0,0 +1,38 @@ +############################################################################ +# apps/testing/fff/Makefile +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################ + +include $(APPDIR)/Make.defs + +# Download and unpack tarball if no git repo found +ifeq ($(wildcard fff/.git),) +fff.zip: + $(Q) curl -L https://github.com/meekrosoft/fff/archive/refs/heads/master.zip -o fff.zip + $(Q) unzip -o fff.zip + $(Q) mv fff-master fff + +context:: fff.zip + +distclean:: + $(call DELDIR, fff) + $(call DELFILE, fff.zip) + +endif + +include $(APPDIR)/Application.mk