Add support for building on Darwin hosts
Add toolchain and build rules for building on Darwin.
Change-Id: I78e21f4051b2941182121b28c9ddfa24396ada41
diff --git a/cc/cc_test.go b/cc/cc_test.go
index 3bf0c65..ec7da90 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -54,3 +54,101 @@
}
}
}
+
+var (
+ str11 = "01234567891"
+ str10 = str11[:10]
+ str9 = str11[:9]
+ str5 = str11[:5]
+ str4 = str11[:4]
+)
+
+var splitListForSizeTestCases = []struct {
+ in []string
+ out [][]string
+ size int
+}{
+ {
+ in: []string{str10},
+ out: [][]string{{str10}},
+ size: 10,
+ },
+ {
+ in: []string{str9},
+ out: [][]string{{str9}},
+ size: 10,
+ },
+ {
+ in: []string{str5},
+ out: [][]string{{str5}},
+ size: 10,
+ },
+ {
+ in: []string{str11},
+ out: nil,
+ size: 10,
+ },
+ {
+ in: []string{str10, str10},
+ out: [][]string{{str10}, {str10}},
+ size: 10,
+ },
+ {
+ in: []string{str9, str10},
+ out: [][]string{{str9}, {str10}},
+ size: 10,
+ },
+ {
+ in: []string{str10, str9},
+ out: [][]string{{str10}, {str9}},
+ size: 10,
+ },
+ {
+ in: []string{str5, str4},
+ out: [][]string{{str5, str4}},
+ size: 10,
+ },
+ {
+ in: []string{str5, str4, str5},
+ out: [][]string{{str5, str4}, {str5}},
+ size: 10,
+ },
+ {
+ in: []string{str5, str4, str5, str4},
+ out: [][]string{{str5, str4}, {str5, str4}},
+ size: 10,
+ },
+ {
+ in: []string{str5, str4, str5, str5},
+ out: [][]string{{str5, str4}, {str5}, {str5}},
+ size: 10,
+ },
+ {
+ in: []string{str5, str5, str5, str4},
+ out: [][]string{{str5}, {str5}, {str5, str4}},
+ size: 10,
+ },
+ {
+ in: []string{str9, str11},
+ out: nil,
+ size: 10,
+ },
+ {
+ in: []string{str11, str9},
+ out: nil,
+ size: 10,
+ },
+}
+
+func TestSplitListForSize(t *testing.T) {
+ for _, testCase := range splitListForSizeTestCases {
+ out, _ := splitListForSize(testCase.in, testCase.size)
+ if !reflect.DeepEqual(out, testCase.out) {
+ t.Errorf("incorrect output:")
+ t.Errorf(" input: %#v", testCase.in)
+ t.Errorf(" size: %d", testCase.size)
+ t.Errorf(" expected: %#v", testCase.out)
+ t.Errorf(" got: %#v", out)
+ }
+ }
+}