From 747061795393a1f4e8ac7d9f3d297b733a34230b Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 9 Mar 2020 16:53:26 -0700 Subject: project_tests: Add the option to the test format to mark the language This is needed when mixing D and C code, as it's possible to end up witha combination of linkers and compilres such that C produces pdb files but D does not. --- docs/markdown/Contributing.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'docs/markdown') diff --git a/docs/markdown/Contributing.md b/docs/markdown/Contributing.md index 4d52ce1..49b485b 100644 --- a/docs/markdown/Contributing.md +++ b/docs/markdown/Contributing.md @@ -227,6 +227,8 @@ to be installed. Each dict contains the following keys: - `file` - `type` - `platform` (optional) +- `version` (optional) +- `language` (optional) The `file` entry contains the relative path (from the install root) to the actually installed file. @@ -246,8 +248,15 @@ current platform. The following values are currently supported: Except for the `file` and `expr` types, all paths should be provided *without* a suffix. +| Argument | Applies to | Description | +| :---------:|----------------------------|-------------------------------------------------------------------------------| +| `version` | `shared_lib`, `pdb` | Sets the version to look for appropriately per-platform | +| `language` | `pdb` | Determines which compiler/linker determines the existence of this file | + The `shared_lib` and `pdb` types takes an optional additional parameter, `version`, this is us a string in `X.Y.Z` format that will be applied to the library. Each version to be tested must have a single version. The harness will apply this correctly per platform: +`pdb` takes an optional `language` argument. This determines which compiler/linker should generate the pdb file. Because it's possible to mix compilers that do and don't generate pdb files (dmd's optlink doesn't). Currently this is only needed when mixing D and C code. + ```json { "type": "shared_lib", "file": "usr/lib/lib", @@ -256,7 +265,7 @@ The `shared_lib` and `pdb` types takes an optional additional parameter, `versio } ``` -This will be applied appropraitly per platform. On windows this expects `lib.dll` and `lib-1.dll`. on MacOS it expects `liblib.dylib` and `liblib.1.dylib`. On other Unices it expects `liblib.so`, `liblib.so.1`, and `liblib.so.1.2.3`. +This will be applied appropriatly per platform. On windows this expects `lib.dll` and `lib-1.dll`. on MacOS it expects `liblib.dylib` and `liblib.1.dylib`. On other Unices it expects `liblib.so`, `liblib.so.1`, and `liblib.so.1.2.3`. If the `platform` key is present, the installed file entry is only considered if the platform matches. The following values for `platform` are currently supported: -- cgit v1.1