From fbdb781fcba149b5bf271a4aef1a7c437747253a Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Thu, 6 Jun 2019 16:55:46 +0800 Subject: [PATCH] ldgen: allow + sign in archive names Closes https://github.com/espressif/esp-idf/issues/8073 --- tools/ci/check_copyright_ignore.txt | 2 -- tools/ldgen/fragments.py | 17 +++-------------- tools/ldgen/test/test_fragments.py | 28 +++++++++++++++------------- 3 files changed, 18 insertions(+), 29 deletions(-) diff --git a/tools/ci/check_copyright_ignore.txt b/tools/ci/check_copyright_ignore.txt index a49cb665ed..71f11af16c 100644 --- a/tools/ci/check_copyright_ignore.txt +++ b/tools/ci/check_copyright_ignore.txt @@ -3595,14 +3595,12 @@ tools/kconfig_new/test/confserver/test_confserver.py tools/kconfig_new/test/gen_kconfig_doc/test_kconfig_out.py tools/kconfig_new/test/gen_kconfig_doc/test_target_visibility.py tools/ldgen/entity.py -tools/ldgen/fragments.py tools/ldgen/ldgen_common.py tools/ldgen/output_commands.py tools/ldgen/samples/template.ld tools/ldgen/sdkconfig.py tools/ldgen/test/data/linker_script.ld tools/ldgen/test/test_entity.py -tools/ldgen/test/test_fragments.py tools/ldgen/test/test_output_commands.py tools/mass_mfg/mfg_gen.py tools/mkdfu.py diff --git a/tools/ldgen/fragments.py b/tools/ldgen/fragments.py index 09f070b91b..238f198f18 100644 --- a/tools/ldgen/fragments.py +++ b/tools/ldgen/fragments.py @@ -1,17 +1,6 @@ # -# Copyright 2021 Espressif Systems (Shanghai) CO LTD -# -# Licensed 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. +# SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Apache-2.0 # import abc import os @@ -217,7 +206,7 @@ class Fragment(): KeyValue = namedtuple('KeyValue', 'grammar min max required') IDENTIFIER = Word(alphas + '_', alphanums + '_') - ENTITY = Word(alphanums + '.-_$') + ENTITY = Word(alphanums + '.-_$+') @abc.abstractmethod def set_key_value(self, key, parse_results): diff --git a/tools/ldgen/test/test_fragments.py b/tools/ldgen/test/test_fragments.py index 1c5878cc4c..f92d91abef 100755 --- a/tools/ldgen/test/test_fragments.py +++ b/tools/ldgen/test/test_fragments.py @@ -1,19 +1,9 @@ #!/usr/bin/env python # -# Copyright 2021 Espressif Systems (Shanghai) CO LTD -# -# Licensed 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. +# SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Apache-2.0 # + import os import sys import tempfile @@ -682,6 +672,18 @@ entries: with self.assertRaises(ParseFatalException): FragmentFile(test_fragment, self.sdkconfig) + def test_archive_allowed_names(self): + test_fragment = self.create_fragment_file(u""" +[mapping:test] +archive: + libstdc++.a +entries: + * (default) +""") + + fragment_file = FragmentFile(test_fragment, self.sdkconfig) + self.assertEqual('libstdc++.a', fragment_file.fragments[0].archive) + def test_empty_entries(self): test_fragment = self.create_fragment_file(u""" [mapping:test]