This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-eyes.git


The following commit(s) were added to refs/heads/main by this push:
     new 2f5c0bc  test: add tests for bare spdx license header content (#92)
2f5c0bc is described below

commit 2f5c0bce5575a25916d6b809c4dac84e6c750d47
Author: tison <[email protected]>
AuthorDate: Mon Feb 14 18:02:19 2022 +0800

    test: add tests for bare spdx license header content (#92)
---
 test/content_test.go                             | 97 ++++++++++++++++++++++++
 test/testdata/spdx_content_test/testcase.go      |  3 +
 test/testdata/spdx_content_test/testcase.graphql |  1 +
 test/testdata/spdx_content_test/testcase.ini     |  3 +
 test/testdata/spdx_content_test/testcase.java    |  3 +
 test/testdata/spdx_content_test/testcase.ml      |  3 +
 test/testdata/spdx_content_test/testcase.php     |  4 +
 test/testdata/spdx_content_test/testcase.pl      |  2 +
 test/testdata/spdx_content_test/testcase.py      |  1 +
 test/testdata/spdx_content_test/testcase.pyx     |  1 +
 test/testdata/spdx_content_test/testcase.sh      |  2 +
 test/testdata/spdx_content_test/testcase.yaml    |  1 +
 test/testdata/spdx_content_test/testcase.yml     |  1 +
 test/testdata/test-spdx-content.yaml             |  4 +
 14 files changed, 126 insertions(+)

diff --git a/test/content_test.go b/test/content_test.go
new file mode 100644
index 0000000..0c69cf3
--- /dev/null
+++ b/test/content_test.go
@@ -0,0 +1,97 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you 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.
+
+package test
+
+import (
+       "io/ioutil"
+       "path/filepath"
+       "strings"
+       "testing"
+
+       "github.com/apache/skywalking-eyes/pkg/header"
+       "gopkg.in/yaml.v3"
+)
+
+var c struct {
+       Header header.ConfigHeader `yaml:"header"`
+}
+
+func init() {
+       content, err := ioutil.ReadFile("testdata/test-spdx-content.yaml")
+
+       if err != nil {
+               panic(err)
+       }
+       if err := yaml.Unmarshal(content, &c); err != nil {
+               panic(err)
+       }
+       if err := c.Header.Finalize(); err != nil {
+               panic(err)
+       }
+}
+
+func TestCheckFile(t *testing.T) {
+       type args struct {
+               name       string
+               file       string
+               result     *header.Result
+               wantErr    bool
+               hasFailure bool
+       }
+
+       tests := func() []args {
+               files, err := filepath.Glob("testdata/spdx_content_test/*")
+               if err != nil {
+                       t.Error(err)
+               }
+
+               var cases []args
+
+               for _, file := range files {
+                       cases = append(cases, args{
+                               name:       file,
+                               file:       file,
+                               result:     &header.Result{},
+                               wantErr:    false,
+                               hasFailure: false,
+                       })
+               }
+
+               return cases
+       }()
+
+       if len(tests) == 0 {
+               t.Errorf("Tests should not be empty")
+       }
+
+       for _, tt := range tests {
+               t.Run(tt.name, func(t *testing.T) {
+                       if strings.TrimSpace(c.Header.GetLicenseContent()) == 
"" {
+                               t.Errorf("License should not be empty")
+                       }
+                       if err := header.CheckFile(tt.file, &c.Header, 
tt.result); (err != nil) != tt.wantErr {
+                               t.Errorf("CheckFile() error = %v, wantErr %v", 
err, tt.wantErr)
+                       }
+                       if len(tt.result.Ignored) > 0 {
+                               t.Errorf("Should not ignore any file, %v", 
tt.result.Ignored)
+                       }
+                       if tt.result.HasFailure() != tt.hasFailure {
+                               t.Errorf("CheckFile() result has failure = %v, 
wanted = %v", tt.result.Failure, tt.hasFailure)
+                       }
+               })
+       }
+}
diff --git a/test/testdata/spdx_content_test/testcase.go 
b/test/testdata/spdx_content_test/testcase.go
new file mode 100644
index 0000000..6f8ec8f
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.go
@@ -0,0 +1,3 @@
+// SPDX-License-Identifier: Apache-2.0
+
+package withlicense
diff --git a/test/testdata/spdx_content_test/testcase.graphql 
b/test/testdata/spdx_content_test/testcase.graphql
new file mode 100644
index 0000000..9881313
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.graphql
@@ -0,0 +1 @@
+# SPDX-License-Identifier: Apache-2.0
diff --git a/test/testdata/spdx_content_test/testcase.ini 
b/test/testdata/spdx_content_test/testcase.ini
new file mode 100644
index 0000000..c8ad870
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.ini
@@ -0,0 +1,3 @@
+; SPDX-License-Identifier: Apache-2.0
+
+; program config file
diff --git a/test/testdata/spdx_content_test/testcase.java 
b/test/testdata/spdx_content_test/testcase.java
new file mode 100644
index 0000000..07bcd42
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.java
@@ -0,0 +1,3 @@
+/**
+ * SPDX-License-Identifier: Apache-2.0
+ */
diff --git a/test/testdata/spdx_content_test/testcase.ml 
b/test/testdata/spdx_content_test/testcase.ml
new file mode 100644
index 0000000..17ae1cc
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.ml
@@ -0,0 +1,3 @@
+(* SPDX-License-Identifier: Apache-2.0
+
+let to_string = function Left -> "Left" | Non -> "Non" | Right -> "Right"
diff --git a/test/testdata/spdx_content_test/testcase.php 
b/test/testdata/spdx_content_test/testcase.php
new file mode 100644
index 0000000..714e01b
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.php
@@ -0,0 +1,4 @@
+<?php declare(strict_types=1);
+/*
+ * SPDX-License-Identifier: Apache-2.0
+ */
diff --git a/test/testdata/spdx_content_test/testcase.pl 
b/test/testdata/spdx_content_test/testcase.pl
new file mode 100644
index 0000000..644282c
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.pl
@@ -0,0 +1,2 @@
+#!/usr/bin/env perl
+# SPDX-License-Identifier: Apache-2.0
diff --git a/test/testdata/spdx_content_test/testcase.py 
b/test/testdata/spdx_content_test/testcase.py
new file mode 100644
index 0000000..9881313
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.py
@@ -0,0 +1 @@
+# SPDX-License-Identifier: Apache-2.0
diff --git a/test/testdata/spdx_content_test/testcase.pyx 
b/test/testdata/spdx_content_test/testcase.pyx
new file mode 100644
index 0000000..9881313
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.pyx
@@ -0,0 +1 @@
+# SPDX-License-Identifier: Apache-2.0
diff --git a/test/testdata/spdx_content_test/testcase.sh 
b/test/testdata/spdx_content_test/testcase.sh
new file mode 100644
index 0000000..5361444
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.sh
@@ -0,0 +1,2 @@
+#! /bin/bash
+# SPDX-License-Identifier: Apache-2.0
diff --git a/test/testdata/spdx_content_test/testcase.yaml 
b/test/testdata/spdx_content_test/testcase.yaml
new file mode 100644
index 0000000..9881313
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.yaml
@@ -0,0 +1 @@
+# SPDX-License-Identifier: Apache-2.0
diff --git a/test/testdata/spdx_content_test/testcase.yml 
b/test/testdata/spdx_content_test/testcase.yml
new file mode 100644
index 0000000..9881313
--- /dev/null
+++ b/test/testdata/spdx_content_test/testcase.yml
@@ -0,0 +1 @@
+# SPDX-License-Identifier: Apache-2.0
diff --git a/test/testdata/test-spdx-content.yaml 
b/test/testdata/test-spdx-content.yaml
new file mode 100644
index 0000000..081adc4
--- /dev/null
+++ b/test/testdata/test-spdx-content.yaml
@@ -0,0 +1,4 @@
+header:
+  license:
+    content: |
+      SPDX-License-Identifier: Apache-2.0

Reply via email to