From f976bb0ef8914ef46b354b3a4a078b51e8a5acf0 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 51d3a993f1..7efc7b051f 100644 --- a/tools/ci/check_copyright_ignore.txt +++ b/tools/ci/check_copyright_ignore.txt @@ -4160,7 +4160,6 @@ 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/generation.py tools/ldgen/ldgen.py tools/ldgen/ldgen_common.py @@ -4170,7 +4169,6 @@ 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_generation.py tools/ldgen/test/test_output_commands.py tools/mass_mfg/mfg_gen.py diff --git a/tools/ldgen/fragments.py b/tools/ldgen/fragments.py index adfff653c9..9b4ba996ce 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 @@ -190,7 +179,7 @@ class Fragment(): """ 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 f9f19ce4a7..5765182c50 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]