66 lines
1.5 KiB
Go
66 lines
1.5 KiB
Go
// Copyright 2018 Mikhail Klementev. All rights reserved.
|
|
// Use of this source code is governed by a AGPLv3 license
|
|
// (or later) that can be found in the LICENSE file.
|
|
|
|
package config
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/naoina/toml"
|
|
)
|
|
|
|
func TestMarshalUnmarshal(t *testing.T) {
|
|
artifactCfg := Artifact{
|
|
Name: "Put name here",
|
|
Type: KernelModule,
|
|
}
|
|
artifactCfg.SupportedKernels = append(artifactCfg.SupportedKernels,
|
|
KernelMask{Ubuntu, "18.04", ".*", kernel{}})
|
|
buf, err := toml.Marshal(&artifactCfg)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
var artifactCfgNew Artifact
|
|
err = toml.Unmarshal(buf, &artifactCfgNew)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func TestKernelRegex(t *testing.T) {
|
|
mask := "4[.]4[.]0-(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116)-.*"
|
|
k := kernel{
|
|
Version: []int{4},
|
|
Major: []int{4},
|
|
Minor: []int{0},
|
|
Patch: []int{1, 116},
|
|
}
|
|
|
|
gmask, err := genReleaseMask(k)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if mask != gmask {
|
|
t.Fatal("Got", gmask, "instead of", mask)
|
|
}
|
|
|
|
mask = "4[.]4[.]0.*"
|
|
k = kernel{
|
|
Version: []int{4},
|
|
Major: []int{4},
|
|
Minor: []int{0},
|
|
}
|
|
|
|
gmask, err = genReleaseMask(k)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if mask != gmask {
|
|
t.Fatal("Got", gmask, "instead of", mask)
|
|
}
|
|
}
|