lang: Initial implementation of the mgmt language

This is an initial implementation of the mgmt language. It is a
declarative (immutable) functional, reactive, domain specific
programming language. It is intended to be a language that is:

* safe
* powerful
* easy to reason about

With these properties, we hope this language, and the mgmt engine will
allow you to model the real-time systems that you'd like to automate.

This also includes a number of other associated changes. Sorry for the
large size of this patch.
This commit is contained in:
James Shubin
2018-01-20 08:09:29 -05:00
parent 1c8c0b2915
commit b19583e7d3
237 changed files with 25256 additions and 743 deletions

View File

@@ -23,6 +23,28 @@ import (
"testing"
)
func TestNumToAlpha(t *testing.T) {
var numToAlphaTests = []struct {
number int
result string
}{
{0, "a"},
{25, "z"},
{26, "aa"},
{27, "ab"},
{702, "aaa"},
{703, "aab"},
{63269, "cool"},
}
for _, test := range numToAlphaTests {
actual := NumToAlpha(test.number)
if actual != test.result {
t.Errorf("NumToAlpha(%d): expected %s, actual %s", test.number, test.result, actual)
}
}
}
func TestUtilT1(t *testing.T) {
if Dirname("/foo/bar/baz") != "/foo/bar/" {