This is what we came out of the call with.

This repo will have multiple moderators. The high level thinking is that the 
SPDX test cases are around the License Identifier, License Text and Standard 
License Header from the License List. Hopefully they would all be auto 
generated (but we may need to craft some)  each time a  version of the license 
list is published. The Contrib directory would include contributions from the 
community.


Directory Layout
-----------------------

spdx/
       Readme
        spdx-test-file-results.json
        license-id/
           0BSD-id-good.[c|sh|js| whatever]
           0BSD-id-bad.[c|sh|js| whatever]
           ...
        license-full-text/
           0BSD-full-text-good.txt
           0BSD-full-text-bad.txt
           ...
        license-header/
           0BSD-header-good.[c|sh|js| whatever]
           0BSD-header-bad.[c|sh|js| whatever]
           ...
        contrib/
           Readme
           contrib-test-file-results.json
           somefilename
           ...

The spdx-test-file-results.json file will contain a json file with the expected 
test results for the license-id, license-full-text and license-header 
directories (pass/fail etc).  Idea is to be able to use the file to 
programmatically check the results of say a scan.

license-id - This directory will contain test cases using the license 
identifier. Initially they will be single licensed files, i.e. 
SPDX-LICENSE-IDENTIFIER: 0BSD. In the future we will expand test cases to 
include License Expressions (AND, OR, etc.,.). There should be test cases for 
just the identifier in a file and for an identifier with a standard 
header/license text.
license-full-text - This directory will contain full versions of the License 
Text from the License List.

license-header - This directory will contain tets files using the standard 
header as defined on the license list. There seem to be very few standard 
license  headers as defined by the list. For example there  are none for BSD, 
MIT Eclipse, etc.,. Need to work through that.

Contrib - These are user contributions. These can be much broader test cases 
than the SPDX ones including files found in the wild. Thinking is that 
multi-license header test files can be here  vs. in SPDX.
    - How to vet disputes on files and what goes in contrib?
    - We probably need some sort of structure?


From: [email protected] 
[mailto:[email protected]] On Behalf Of Manbeck, Jack via 
Spdx-tech
Sent: Tuesday, October 03, 2017 1:05 PM
To: [email protected]
Subject: [EXTERNAL] [spdx-tech] Proposed license test files directory

Gary and I had been working on this for the call today. Still a bit of draft 
but we can discuss.


This repo will have multiple moderators.

Directory Layout
-----------------------

spdx/
               Readme
               licenseid/
                                             testfiles.json
                                             0BSD-id-good.[c|sh|js| whatever]
                                             0BSD-id-bad.[c|sh|js| whatever]
                                               ...
               licensetext/
                                             testfiles.json
                                             0BSD-canonical-good.txt
                                             0BSD-canonical-bad.txt
                                              ...
               licenseheader/
                                             testfiles.json
                                            0BSD-header-good.[c|sh|js| whatever]
                                            0BSD-header-bad.[c|sh|js| whatever]
                                            ...

contrib/
               Readme
               testfiles.json
               somefilename
                ...

The testfiles.json directory will contain a json file with the expected test 
results regardless of the directory the file (pass/fail etc). The directory 
structure above is for us humans and this file is for programmatically checking 
the results.

Spdx
---------
Split the spdx and contrib directories for clarity, ease of maintenance, etc. I 
don't think we should comingle the files.

The SPDX text cases include detection of the license text, license identifier 
and standard header as defined by the license
list. One item to work through. There seem to be very few standard license 
headers as defined by the list. For example there
are none for BSD, MIT Eclipse, etc.,. Need to work through that.

licenseid/ directory contains test files using the SPDX-LICENSE-IDENTIFIER
licensetext/ directory contains canonical versions of the license text in a 
text file. No comments or other text with it.
licenseheader/ directory contains test files using the standard license header.



Contrib
----------
These are user contributions. These can be much broader test cases than the 
SPDX ones.

- Other than a good and bad directory do we need anything for structure? Should 
it follow spdx format?
- How to vet disputes on files and what goes in?

_______________________________________________
Spdx-tech mailing list
[email protected]
https://lists.spdx.org/mailman/listinfo/spdx-tech

Reply via email to