diff options
Diffstat (limited to 'libc/utils/hdrgen/tests')
| -rw-r--r-- | libc/utils/hdrgen/tests/expected_output/custom.h | 21 | ||||
| -rw-r--r-- | libc/utils/hdrgen/tests/expected_output/sorting.h | 24 | ||||
| -rw-r--r-- | libc/utils/hdrgen/tests/expected_output/test_header.h | 1 | ||||
| -rw-r--r-- | libc/utils/hdrgen/tests/expected_output/test_small.json | 1 | ||||
| -rw-r--r-- | libc/utils/hdrgen/tests/input/custom-common.yaml | 6 | ||||
| -rw-r--r-- | libc/utils/hdrgen/tests/input/custom.yaml | 13 | ||||
| -rw-r--r-- | libc/utils/hdrgen/tests/input/sorting.yaml | 20 | ||||
| -rw-r--r-- | libc/utils/hdrgen/tests/test_integration.py | 14 | 
8 files changed, 100 insertions, 0 deletions
| diff --git a/libc/utils/hdrgen/tests/expected_output/custom.h b/libc/utils/hdrgen/tests/expected_output/custom.h new file mode 100644 index 0000000..5f9ed23 --- /dev/null +++ b/libc/utils/hdrgen/tests/expected_output/custom.h @@ -0,0 +1,21 @@ +//===-- Wile E. Coyote header <custom.h> --===// +// +// Caveat emptor. +// I never studied law. +// +//===---------------------------------------------------------------------===// + +#ifndef _LLVM_LIBC_CUSTOM_H +#define _LLVM_LIBC_CUSTOM_H + +#include "__llvm-libc-common.h" +#include "llvm-libc-types/meep.h" +#include "llvm-libc-types/road.h" + +__BEGIN_C_DECLS + +road runner(meep, meep) __NOEXCEPT; + +__END_C_DECLS + +#endif // _LLVM_LIBC_CUSTOM_H diff --git a/libc/utils/hdrgen/tests/expected_output/sorting.h b/libc/utils/hdrgen/tests/expected_output/sorting.h new file mode 100644 index 0000000..a091a42 --- /dev/null +++ b/libc/utils/hdrgen/tests/expected_output/sorting.h @@ -0,0 +1,24 @@ +//===-- Standard C header <sorting.h> --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===---------------------------------------------------------------------===// + +#ifndef _LLVM_LIBC_SORTING_H +#define _LLVM_LIBC_SORTING_H + +#include "__llvm-libc-common.h" + +__BEGIN_C_DECLS + +void func_with_aliases(int) __NOEXCEPT; +void _func_with_aliases(int) __NOEXCEPT; +void __func_with_aliases(int) __NOEXCEPT; + +void gunk(const char *) __NOEXCEPT; + +__END_C_DECLS + +#endif // _LLVM_LIBC_SORTING_H diff --git a/libc/utils/hdrgen/tests/expected_output/test_header.h b/libc/utils/hdrgen/tests/expected_output/test_header.h index 748c098..49112a3 100644 --- a/libc/utils/hdrgen/tests/expected_output/test_header.h +++ b/libc/utils/hdrgen/tests/expected_output/test_header.h @@ -12,6 +12,7 @@  #include "__llvm-libc-common.h"  #include "llvm-libc-macros/float16-macros.h" +#include "llvm-libc-macros/CONST_FUNC_A.h"  #include "llvm-libc-macros/test_more-macros.h"  #include "llvm-libc-macros/test_small-macros.h"  #include "llvm-libc-types/float128.h" diff --git a/libc/utils/hdrgen/tests/expected_output/test_small.json b/libc/utils/hdrgen/tests/expected_output/test_small.json index 9cc73d0..8502df2 100644 --- a/libc/utils/hdrgen/tests/expected_output/test_small.json +++ b/libc/utils/hdrgen/tests/expected_output/test_small.json @@ -4,6 +4,7 @@      "standards": [],      "includes": [        "__llvm-libc-common.h", +      "llvm-libc-macros/CONST_FUNC_A.h",        "llvm-libc-macros/test_more-macros.h",        "llvm-libc-macros/test_small-macros.h",        "llvm-libc-types/float128.h", diff --git a/libc/utils/hdrgen/tests/input/custom-common.yaml b/libc/utils/hdrgen/tests/input/custom-common.yaml new file mode 100644 index 0000000..909a3ba --- /dev/null +++ b/libc/utils/hdrgen/tests/input/custom-common.yaml @@ -0,0 +1,6 @@ +license_text: +  - Caveat emptor. +  - I never studied law. + +extra_standards: +  acme: Wile E. Coyote diff --git a/libc/utils/hdrgen/tests/input/custom.yaml b/libc/utils/hdrgen/tests/input/custom.yaml new file mode 100644 index 0000000..7d3ff8e --- /dev/null +++ b/libc/utils/hdrgen/tests/input/custom.yaml @@ -0,0 +1,13 @@ +merge_yaml_files: +  - custom-common.yaml + +header: custom.h +standards: +  - acme + +functions: +  - name: runner +    return_type: road +    arguments: +      - type: meep +      - type: meep diff --git a/libc/utils/hdrgen/tests/input/sorting.yaml b/libc/utils/hdrgen/tests/input/sorting.yaml new file mode 100644 index 0000000..3c26cde --- /dev/null +++ b/libc/utils/hdrgen/tests/input/sorting.yaml @@ -0,0 +1,20 @@ +header: sorting.h +standards: +  - stdc +functions: +  - name: gunk +    return_type: void +    arguments: +      - type: const char * +  - name: _func_with_aliases +    return_type: void +    arguments: +      - type: int +  - name: func_with_aliases +    return_type: void +    arguments: +      - type: int +  - name: __func_with_aliases +    return_type: void +    arguments: +      - type: int diff --git a/libc/utils/hdrgen/tests/test_integration.py b/libc/utils/hdrgen/tests/test_integration.py index bf393d2..b975d8f 100644 --- a/libc/utils/hdrgen/tests/test_integration.py +++ b/libc/utils/hdrgen/tests/test_integration.py @@ -59,6 +59,13 @@ class TestHeaderGenIntegration(unittest.TestCase):          self.run_script(yaml_file, output_file)          self.compare_files(output_file, expected_output_file) +    def test_custom_license_and_standards(self): +        yaml_file = self.source_dir / "input" / "custom.yaml" +        expected_output_file = self.source_dir / "expected_output" / "custom.h" +        output_file = self.output_dir / "custom.h" +        self.run_script(yaml_file, output_file) +        self.compare_files(output_file, expected_output_file) +      def test_generate_json(self):          yaml_file = self.source_dir / "input/test_small.yaml"          expected_output_file = self.source_dir / "expected_output/test_small.json" @@ -68,6 +75,13 @@ class TestHeaderGenIntegration(unittest.TestCase):          self.compare_files(output_file, expected_output_file) +    def test_sorting(self): +        yaml_file = self.source_dir / "input" / "sorting.yaml" +        expected_output_file = self.source_dir / "expected_output" / "sorting.h" +        output_file = self.output_dir / "sorting.h" +        self.run_script(yaml_file, output_file) +        self.compare_files(output_file, expected_output_file) +  def main():      parser = argparse.ArgumentParser(description="TestHeaderGenIntegration arguments") | 
