aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile73
-rw-r--r--deps.mk105
-rw-r--r--tests/unit/compressor/compressor.go (renamed from tests/unit/urubu/compressor.go)3
-rw-r--r--tests/unit/compressor/main.go (renamed from tests/unit/urubu/compressor.main.go)0
-rw-r--r--tests/unit/driver/lexer/lexer.go (renamed from tests/unit/urubu/driver/lexer.go)3
-rw-r--r--tests/unit/driver/lexer/main.go7
-rw-r--r--tests/unit/driver/parser/main.go7
-rw-r--r--tests/unit/driver/parser/parser.go (renamed from tests/unit/urubu/driver/parser.go)3
-rw-r--r--tests/unit/grammar/grammar.go (renamed from tests/unit/urubu/grammar.go)3
-rw-r--r--tests/unit/grammar/lexical/dfa/dfa.go (renamed from tests/unit/urubu/grammar/lexical/dfa.go)3
-rw-r--r--tests/unit/grammar/lexical/dfa/main.go7
-rw-r--r--tests/unit/grammar/lexical/lexical.go (renamed from tests/unit/urubu/grammar/lexical.go)3
-rw-r--r--tests/unit/grammar/lexical/main.go7
-rw-r--r--tests/unit/grammar/lexical/parser/main.go7
-rw-r--r--tests/unit/grammar/lexical/parser/parser.go (renamed from tests/unit/urubu/grammar/lexical/parser.go)3
-rw-r--r--tests/unit/grammar/main.go7
-rw-r--r--tests/unit/grammar/symbol/main.go7
-rw-r--r--tests/unit/grammar/symbol/symbol.go (renamed from tests/unit/urubu/grammar/symbol.go)3
-rw-r--r--tests/unit/spec/grammar/parser/main.go7
-rw-r--r--tests/unit/spec/grammar/parser/parser.go (renamed from tests/unit/urubu/spec/grammar/parser.go)3
-rw-r--r--tests/unit/spec/test/main.go7
-rw-r--r--tests/unit/spec/test/test.go (renamed from tests/unit/urubu/spec/test.go)3
-rw-r--r--tests/unit/tester/main.go7
-rw-r--r--tests/unit/tester/tester.go (renamed from tests/unit/urubu/tester.go)3
-rw-r--r--tests/unit/utf8/main.go7
-rw-r--r--tests/unit/utf8/utf8.go (renamed from tests/unit/urubu/utf8.go)3
27 files changed, 247 insertions, 45 deletions
diff --git a/.gitignore b/.gitignore
index ecc25cb..44e1343 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,6 +17,7 @@
/tests/fuzz/corpus/
*.a
+*.bin
/src/urubu/cmd/*.bin
diff --git a/Makefile b/Makefile
index 482423a..59e9f25 100644
--- a/Makefile
+++ b/Makefile
@@ -65,29 +65,44 @@ existing = \
src/urubu/tester \
xtests = \
- tests/unit/compressor \
- tests/unit/grammar/symbol \
- tests/unit/spec/test \
- tests/unit/utf8 \
- tests/unit/spec/grammar/parser \
- tests/unit/grammar \
- tests/unit/tester \
- tests/unit/grammar/lexical/dfa \
- tests/unit/grammar/lexical/parser \
- tests/unit/grammar/lexical \
- tests/unit/driver/lexer \
- tests/unit/driver/parser \
+ tests/unit/compressor/compressor.go \
+ tests/unit/grammar/symbol/symbol.go \
+ tests/unit/spec/test/test.go \
+ tests/unit/utf8/utf8.go \
+ tests/unit/spec/grammar/parser/parser.go \
+ tests/unit/grammar/grammar.go \
+ tests/unit/tester/tester.go \
+ tests/unit/grammar/lexical/dfa/dfa.go \
+ tests/unit/grammar/lexical/parser/parser.go \
+ tests/unit/grammar/lexical/lexical.go \
+ tests/unit/driver/lexer/lexer.go \
+ tests/unit/driver/parser/parser.go \
xmains = \
src/urubu/cmd/ucdgen \
src/urubu/cmd/vartan \
src/urubu/cmd/vartan-go \
-existing.a = $(existing:=.a)
-xmains.a = $(xmains:=.a)
-xtests.a = $(xtests:=.a)
-xmains.bin = $(xmains:=.bin)
-_xtests.bin = $(xtests:=.bin)
+xtmains = \
+ tests/unit/compressor/main.go \
+ tests/unit/grammar/symbol/main.go \
+ tests/unit/spec/test/main.go \
+ tests/unit/tester/main.go \
+ tests/unit/utf8/main.go \
+ tests/unit/spec/grammar/parser/main.go \
+ tests/unit/grammar/main.go \
+ tests/unit/grammar/lexical/dfa/main.go \
+ tests/unit/grammar/lexical/parser/main.go \
+ tests/unit/grammar/lexical/main.go \
+ tests/unit/driver/lexer/main.go \
+ tests/unit/driver/parser/main.go \
+
+existing.a = $(existing:=.a)
+xmains.a = $(xmains:=.a)
+xmains.bin = $(xmains:=.bin)
+xtests.a = $(xtests:.go=.a)
+xtmains.a = $(xtmains:.go=.a)
+xtmains.bin = $(xtmains:.go=.bin)
sources = \
@@ -97,16 +112,17 @@ sources = \
derived-assets = \
+ $(xtests.a) \
+ $(xtmains.a) \
+ $(xtmains.bin) \
+ $(existing.a) \
+ $(xmains.a) \
+ $(xmains.bin) \
src/version.go \
$(libs.a) \
$(mains.a) \
$(mains.bin) \
$(NAME).bin \
- $(existing.a) \
- $(xmains.a) \
- $(xmains.bin) \
- $(xtests.a) \
- $(xtest.bin) \
side-assets = \
tests/fuzz/corpus/ \
@@ -128,15 +144,21 @@ $(existing.a):
go tool compile -I src -o $@ -p `echo $* | sed 's,^src/,,'` $*.go
$(xtests.a):
- p="`echo $* | sed 's,^tests/unit/,urubu/,'`"; \
- go tool compile -I src -o $@ -p $$p src/$$p.go $*.go
+ p="`echo $(*D) | sed 's,^tests/unit/,,'`"; \
+ go tool compile -I src -o $@ -p $(*F) src/urubu/$$p.go $*.go
$(xmains.a):
go tool compile -I src -o $@ -p main $*/*.go
-$(xmains.bin) $(xtests.bin):
+$(xmains.bin):
go tool link -L src -o $@ --extldflags '$(LDLIBS)' $*.a
+$(xtmains.a):
+ go tool compile -I $(@D) -o $@ -p main $*.go
+
+$(xtmains.bin):
+ go tool link -L $(@D) -L src -o $@ --extldflags '$(LDLIBS)' $*.a
+
$(fuzz-targets/lib.a):
go tool compile $(GOCFLAGS) -o $@ -p $(NAME) -d=libfuzzer \
$*.go src/$(NAME).go src/version.go
@@ -152,6 +174,7 @@ $(NAME).bin: src/main.bin
tests.bin-check = \
tests/main.bin-check \
$(functional-tests/main.go:.go=.bin-check) \
+ $(xtmains:.go=.bin-check) \
$(tests.bin-check):
$(EXEC)$*.bin
diff --git a/deps.mk b/deps.mk
index 2461916..64ecb5f 100644
--- a/deps.mk
+++ b/deps.mk
@@ -75,14 +75,14 @@ tests/fuzz/generated-parser-check/main.a: tests/fuzz/generated-parser-check/$(NA
tests/main.a: tests/$(NAME).a
-src/urubu/spec/grammar/parser.a tests/unit/spec/grammar/parser.a: src/urubu/error.a src/urubu/spec/grammar.a
-src/urubu/grammar.a tests/unit/grammar.a: src/urubu/grammar/symbol.a src/urubu/spec/grammar/parser.a src/urubu/error.a src/urubu/grammar/lexical.a
-src/urubu/tester.a tests/unit/tester.a: src/urubu/spec/test.a src/urubu/driver/parser.a src/urubu/spec/grammar.a
-src/urubu/grammar/lexical/dfa.a tests/unit/grammar/lexical/dfa.a: src/urubu/grammar/lexical/parser.a src/urubu/utf8.a
-src/urubu/grammar/lexical/parser.a tests/unit/grammar/lexical/parser.a: src/urubu/ucd.a src/urubu/spec/grammar.a
-src/urubu/grammar/lexical.a tests/unit/grammar/lexical.a: src/urubu/compressor.a src/urubu/grammar/lexical/dfa.a src/urubu/grammar/lexical/parser.a
-src/urubu/driver/lexer.a tests/unit/driver/lexer.a: src/urubu/grammar/lexical.a
-src/urubu/driver/parser.a tests/unit/driver/parser.a: src/urubu/spec/grammar.a src/urubu/driver/lexer.a
+src/urubu/spec/grammar/parser.a tests/unit/spec/grammar/parser/parser.a: src/urubu/error.a src/urubu/spec/grammar.a
+src/urubu/grammar.a tests/unit/grammar/grammar.a: src/urubu/grammar/symbol.a src/urubu/spec/grammar/parser.a src/urubu/error.a src/urubu/grammar/lexical.a
+src/urubu/tester.a tests/unit/tester/tester.a: src/urubu/spec/test.a src/urubu/driver/parser.a src/urubu/spec/grammar.a
+src/urubu/grammar/lexical/dfa.a tests/unit/grammar/lexical/dfa/dfa.a: src/urubu/grammar/lexical/parser.a src/urubu/utf8.a
+src/urubu/grammar/lexical/parser.a tests/unit/grammar/lexical/parser/parser.a: src/urubu/ucd.a src/urubu/spec/grammar.a
+src/urubu/grammar/lexical.a tests/unit/grammar/lexical/lexical.a: src/urubu/compressor.a src/urubu/grammar/lexical/dfa.a src/urubu/grammar/lexical/parser.a
+src/urubu/driver/lexer.a tests/unit/driver/lexer/lexer.a: src/urubu/grammar/lexical.a
+src/urubu/driver/parser.a tests/unit/driver/parser/parser.a: src/urubu/spec/grammar.a src/urubu/driver/lexer.a
tests/unit/driver/parser.a: src/urubu/grammar.a src/urubu/spec/grammar/parser.a
tests/unit/tester.a: src/urubu/grammar.a src/urubu/spec/grammar/parser.a
@@ -122,15 +122,80 @@ src/urubu/cmd/vartan-go.a: src/urubu/cmd/vartan-go/generate.go src/urubu/cmd/var
-tests/unit/compressor.a: src/urubu/compressor.go tests/unit/compressor.go
-tests/unit/grammar/symbol.a: src/urubu/grammar/symbol.go tests/unit/grammar/symbol.go
-tests/unit/spec/test.a: src/urubu/spec/test.go tests/unit/spec/test.go
-tests/unit/utf8.a: src/urubu/utf8.go tests/unit/utf8.go
-tests/unit/spec/grammar/parser.a: src/urubu/spec/grammar/parser.go tests/unit/spec/grammar/parser.go
-tests/unit/grammar.a: src/urubu/grammar.go tests/unit/grammar.go
-tests/unit/tester.a: src/urubu/tester.go tests/unit/tester.go
-tests/unit/grammar/lexical/dfa.a: src/urubu/grammar/lexical/dfa.go tests/unit/grammar/lexical/dfa.go
-tests/unit/grammar/lexical/parser.a: src/urubu/grammar/lexical/parser.go tests/unit/grammar/lexical/parser.go
-tests/unit/grammar/lexical.a: src/urubu/grammar/lexical.go tests/unit/grammar/lexical.go
-tests/unit/driver/lexer.a: src/urubu/driver/lexer.go tests/unit/driver/lexer.go
-tests/unit/driver/parser.a: src/urubu/driver/parser.go tests/unit/driver/parser.go
+tests/unit/compressor/compressor.a: src/urubu/compressor.go tests/unit/compressor/compressor.go
+tests/unit/grammar/symbol/symbol.a: src/urubu/grammar/symbol.go tests/unit/grammar/symbol/symbol.go
+tests/unit/spec/test/test.a: src/urubu/spec/test.go tests/unit/spec/test/test.go
+tests/unit/utf8/utf8.a: src/urubu/utf8.go tests/unit/utf8/utf8.go
+tests/unit/spec/grammar/parser/parser.a: src/urubu/spec/grammar/parser.go tests/unit/spec/grammar/parser/parser.go
+tests/unit/grammar/grammar.a: src/urubu/grammar.go tests/unit/grammar/grammar.go
+tests/unit/tester/tester.a: src/urubu/tester.go tests/unit/tester/tester.go
+tests/unit/grammar/lexical/dfa/dfa.a: src/urubu/grammar/lexical/dfa.go tests/unit/grammar/lexical/dfa/dfa.go
+tests/unit/grammar/lexical/parser/parser.a: src/urubu/grammar/lexical/parser.go tests/unit/grammar/lexical/parser/parser.go
+tests/unit/grammar/lexical/lexical.a: src/urubu/grammar/lexical.go tests/unit/grammar/lexical/lexical.go
+tests/unit/driver/lexer/lexer.a: src/urubu/driver/lexer.go tests/unit/driver/lexer/lexer.go
+tests/unit/driver/parser/parser.a: src/urubu/driver/parser.go tests/unit/driver/parser/parser.go
+
+
+tests/unit/compressor/main.a: tests/unit/compressor/main.go
+tests/unit/grammar/main.a: tests/unit/grammar/main.go
+tests/unit/tester/main.a: tests/unit/tester/main.go
+tests/unit/utf8/main.a: tests/unit/utf8/main.go
+tests/unit/spec/grammar/parser/main.a: tests/unit/spec/grammar/parser/main.go
+tests/unit/spec/test/main.a: tests/unit/spec/test/main.go
+tests/unit/grammar/main.a: tests/unit/grammar/main.go
+tests/unit/tester/main.a: tests/unit/tester/main.go
+tests/unit/grammar/lexical/dfa/main.a: tests/unit/grammar/lexical/dfa/main.go
+tests/unit/grammar/lexical/parser/main.a: tests/unit/grammar/lexical/parser/main.go
+tests/unit/grammar/lexical/main.a: tests/unit/grammar/lexical/main.go
+tests/unit/grammar/symbol/main.a: tests/unit/grammar/symbol/main.go
+tests/unit/driver/lexer/main.a: tests/unit/driver/lexer/main.go
+tests/unit/driver/parser/main.a: tests/unit/driver/parser/main.go
+
+tests/unit/compressor/main.a: tests/unit/compressor/compressor.a
+tests/unit/grammar/main.a: tests/unit/grammar/grammar.a
+tests/unit/tester/main.a: tests/unit/tester/tester.a
+tests/unit/utf8/main.a: tests/unit/utf8/utf8.a
+tests/unit/spec/grammar/parser/main.a: tests/unit/spec/grammar/parser/parser.a
+tests/unit/spec/test/main.a: tests/unit/spec/test/test.a
+tests/unit/grammar/main.a: tests/unit/grammar/grammar.a
+tests/unit/tester/main.a: tests/unit/tester/tester.a
+tests/unit/grammar/lexical/dfa/main.a: tests/unit/grammar/lexical/dfa/dfa.a
+tests/unit/grammar/lexical/parser/main.a: tests/unit/grammar/lexical/parser/parser.a
+tests/unit/grammar/lexical/main.a: tests/unit/grammar/lexical/lexical.a
+tests/unit/grammar/symbol/main.a: tests/unit/grammar/symbol/symbol.a
+tests/unit/driver/lexer/main.a: tests/unit/driver/lexer/lexer.a
+tests/unit/driver/parser/main.a: tests/unit/driver/parser/parser.a
+
+tests/unit/compressor/main.bin: tests/unit/compressor/main.a
+tests/unit/grammar/main.bin: tests/unit/grammar/main.a
+tests/unit/tester/main.bin: tests/unit/tester/main.a
+tests/unit/utf8/main.bin: tests/unit/utf8/main.a
+tests/unit/spec/grammar/parser/main.bin: tests/unit/spec/grammar/parser/main.a
+tests/unit/spec/test/main.bin: tests/unit/spec/test/main.a
+tests/unit/grammar/main.bin: tests/unit/grammar/main.a
+tests/unit/tester/main.bin: tests/unit/tester/main.a
+tests/unit/grammar/lexical/dfa/main.bin: tests/unit/grammar/lexical/dfa/main.a
+tests/unit/grammar/lexical/parser/main.bin: tests/unit/grammar/lexical/parser/main.a
+tests/unit/grammar/lexical/main.bin: tests/unit/grammar/lexical/main.a
+tests/unit/grammar/symbol/main.bin: tests/unit/grammar/symbol/main.a
+tests/unit/driver/lexer/main.bin: tests/unit/driver/lexer/main.a
+tests/unit/driver/parser/main.bin: tests/unit/driver/parser/main.a
+
+tests/unit/compressor/main.bin-check: tests/unit/compressor/main.bin
+tests/unit/grammar/main.bin-check: tests/unit/grammar/main.bin
+tests/unit/tester/main.bin-check: tests/unit/tester/main.bin
+tests/unit/utf8/main.bin-check: tests/unit/utf8/main.bin
+tests/unit/spec/grammar/parser/main.bin-check: tests/unit/spec/grammar/parser/main.bin
+tests/unit/spec/test/main.bin-check: tests/unit/spec/test/main.bin
+tests/unit/grammar/main.bin-check: tests/unit/grammar/main.bin
+tests/unit/tester/main.bin-check: tests/unit/tester/main.bin
+tests/unit/grammar/lexical/dfa/main.bin-check: tests/unit/grammar/lexical/dfa/main.bin
+tests/unit/grammar/lexical/parser/main.bin-check: tests/unit/grammar/lexical/parser/main.bin
+tests/unit/grammar/lexical/main.bin-check: tests/unit/grammar/lexical/main.bin
+tests/unit/grammar/symbol/main.bin-check: tests/unit/grammar/symbol/main.bin
+tests/unit/driver/lexer/main.bin-check: tests/unit/driver/lexer/main.bin
+tests/unit/driver/parser/main.bin-check: tests/unit/driver/parser/main.bin
+
+
+tests/unit/tester/tester.a: src/urubu/driver/parser.a src/urubu/spec/test.a src/urubu/grammar.a
+tests/unit/driver/parser/parser.a: src/urubu/grammar.a src/urubu/spec/grammar/parser.a
diff --git a/tests/unit/urubu/compressor.go b/tests/unit/compressor/compressor.go
index 621b731..3b760ce 100644
--- a/tests/unit/urubu/compressor.go
+++ b/tests/unit/compressor/compressor.go
@@ -120,3 +120,6 @@ func TestCompressor_Compress(t *testing.T) {
}
}
}
+
+func MainTest() {
+}
diff --git a/tests/unit/urubu/compressor.main.go b/tests/unit/compressor/main.go
index a1bc202..a1bc202 100644
--- a/tests/unit/urubu/compressor.main.go
+++ b/tests/unit/compressor/main.go
diff --git a/tests/unit/urubu/driver/lexer.go b/tests/unit/driver/lexer/lexer.go
index a3d0231..364a0f5 100644
--- a/tests/unit/urubu/driver/lexer.go
+++ b/tests/unit/driver/lexer/lexer.go
@@ -930,3 +930,6 @@ func testToken(t *testing.T, expected, actual *Token) {
t.Fatalf(`unexpected token; want: %+v, got: %+v`, expected, actual)
}
}
+
+
+func MainTest() {}
diff --git a/tests/unit/driver/lexer/main.go b/tests/unit/driver/lexer/main.go
new file mode 100644
index 0000000..5953d9f
--- /dev/null
+++ b/tests/unit/driver/lexer/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "lexer"
+
+func main() {
+ lexer.MainTest()
+}
diff --git a/tests/unit/driver/parser/main.go b/tests/unit/driver/parser/main.go
new file mode 100644
index 0000000..a99bfc4
--- /dev/null
+++ b/tests/unit/driver/parser/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "parser"
+
+func main() {
+ parser.MainTest()
+}
diff --git a/tests/unit/urubu/driver/parser.go b/tests/unit/driver/parser/parser.go
index 31fec45..cdf32a3 100644
--- a/tests/unit/urubu/driver/parser.go
+++ b/tests/unit/driver/parser/parser.go
@@ -1970,3 +1970,6 @@ foo
})
}
}
+
+
+func MainTest() {}
diff --git a/tests/unit/urubu/grammar.go b/tests/unit/grammar/grammar.go
index 3743b23..fe66976 100644
--- a/tests/unit/urubu/grammar.go
+++ b/tests/unit/grammar/grammar.go
@@ -4645,3 +4645,6 @@ func withLookAhead(item *lrItem, lookAhead ...symbol.Symbol) *lrItem {
return item
}
+
+
+func MainTest() {}
diff --git a/tests/unit/urubu/grammar/lexical/dfa.go b/tests/unit/grammar/lexical/dfa/dfa.go
index 1a3e16a..3233969 100644
--- a/tests/unit/urubu/grammar/lexical/dfa.go
+++ b/tests/unit/grammar/lexical/dfa/dfa.go
@@ -440,3 +440,6 @@ func testSymbolTable(t *testing.T, expected, actual *symbolTable) {
}
}
}
+
+
+func MainTest() {}
diff --git a/tests/unit/grammar/lexical/dfa/main.go b/tests/unit/grammar/lexical/dfa/main.go
new file mode 100644
index 0000000..e0b2fd0
--- /dev/null
+++ b/tests/unit/grammar/lexical/dfa/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "dfa"
+
+func main() {
+ dfa.MainTest()
+}
diff --git a/tests/unit/urubu/grammar/lexical.go b/tests/unit/grammar/lexical/lexical.go
index b621cd2..54cace4 100644
--- a/tests/unit/urubu/grammar/lexical.go
+++ b/tests/unit/grammar/lexical/lexical.go
@@ -336,3 +336,6 @@ func TestCompile(t *testing.T) {
})
}
}
+
+
+func MainTest() {}
diff --git a/tests/unit/grammar/lexical/main.go b/tests/unit/grammar/lexical/main.go
new file mode 100644
index 0000000..19fcce8
--- /dev/null
+++ b/tests/unit/grammar/lexical/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "lexical"
+
+func main() {
+ lexical.MainTest()
+}
diff --git a/tests/unit/grammar/lexical/parser/main.go b/tests/unit/grammar/lexical/parser/main.go
new file mode 100644
index 0000000..a99bfc4
--- /dev/null
+++ b/tests/unit/grammar/lexical/parser/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "parser"
+
+func main() {
+ parser.MainTest()
+}
diff --git a/tests/unit/urubu/grammar/lexical/parser.go b/tests/unit/grammar/lexical/parser/parser.go
index d5d7039..288de95 100644
--- a/tests/unit/urubu/grammar/lexical/parser.go
+++ b/tests/unit/grammar/lexical/parser/parser.go
@@ -1905,3 +1905,6 @@ func testAST(t *testing.T, expected, actual CPTree) {
testAST(t, eLeft, aLeft)
testAST(t, eRight, aRight)
}
+
+
+func MainTest() {}
diff --git a/tests/unit/grammar/main.go b/tests/unit/grammar/main.go
new file mode 100644
index 0000000..a68adfd
--- /dev/null
+++ b/tests/unit/grammar/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "grammar"
+
+func main() {
+ grammar.MainTest()
+}
diff --git a/tests/unit/grammar/symbol/main.go b/tests/unit/grammar/symbol/main.go
new file mode 100644
index 0000000..721161d
--- /dev/null
+++ b/tests/unit/grammar/symbol/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "symbol"
+
+func main() {
+ symbol.MainTest()
+}
diff --git a/tests/unit/urubu/grammar/symbol.go b/tests/unit/grammar/symbol/symbol.go
index 31c3edd..3e23c2b 100644
--- a/tests/unit/urubu/grammar/symbol.go
+++ b/tests/unit/grammar/symbol/symbol.go
@@ -157,3 +157,6 @@ func testSymbolProperty(t *testing.T, sym Symbol, isNil, isStart, isEOF, isNonTe
t.Fatalf("isTerminal property is mismatched; want: %v, got: %v", isTerminal, v)
}
}
+
+
+func MainTest() {}
diff --git a/tests/unit/spec/grammar/parser/main.go b/tests/unit/spec/grammar/parser/main.go
new file mode 100644
index 0000000..a99bfc4
--- /dev/null
+++ b/tests/unit/spec/grammar/parser/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "parser"
+
+func main() {
+ parser.MainTest()
+}
diff --git a/tests/unit/urubu/spec/grammar/parser.go b/tests/unit/spec/grammar/parser/parser.go
index 773c466..8170518 100644
--- a/tests/unit/urubu/spec/grammar/parser.go
+++ b/tests/unit/spec/grammar/parser/parser.go
@@ -1437,3 +1437,6 @@ func testPosition(t *testing.T, pos, expected Position) {
t.Fatalf("unexpected position want: %+v, got: %+v", expected, pos)
}
}
+
+
+func MainTest() {}
diff --git a/tests/unit/spec/test/main.go b/tests/unit/spec/test/main.go
new file mode 100644
index 0000000..0f9aed7
--- /dev/null
+++ b/tests/unit/spec/test/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "test"
+
+func main() {
+ test.MainTest()
+}
diff --git a/tests/unit/urubu/spec/test.go b/tests/unit/spec/test/test.go
index eddba92..c6ec8f1 100644
--- a/tests/unit/urubu/spec/test.go
+++ b/tests/unit/spec/test/test.go
@@ -409,3 +409,6 @@ func testTestCase(t *testing.T, expected, actual *TestCase) {
t.Fatalf("unexpected test case: want: %#v, got: %#v", expected, actual)
}
}
+
+
+func MainTest() {}
diff --git a/tests/unit/tester/main.go b/tests/unit/tester/main.go
new file mode 100644
index 0000000..4a85b25
--- /dev/null
+++ b/tests/unit/tester/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "tester"
+
+func main() {
+ tester.MainTest()
+}
diff --git a/tests/unit/urubu/tester.go b/tests/unit/tester/tester.go
index 3c6b1db..9245cc4 100644
--- a/tests/unit/urubu/tester.go
+++ b/tests/unit/tester/tester.go
@@ -167,3 +167,6 @@ foo foo foo
})
}
}
+
+
+func MainTest() {}
diff --git a/tests/unit/utf8/main.go b/tests/unit/utf8/main.go
new file mode 100644
index 0000000..e8646d6
--- /dev/null
+++ b/tests/unit/utf8/main.go
@@ -0,0 +1,7 @@
+package main
+
+import "utf8"
+
+func main() {
+ utf8.MainTest()
+}
diff --git a/tests/unit/urubu/utf8.go b/tests/unit/utf8/utf8.go
index 2dc8093..278ed3e 100644
--- a/tests/unit/urubu/utf8.go
+++ b/tests/unit/utf8/utf8.go
@@ -179,3 +179,6 @@ func TestGenCharBlocks_IllFormed(t *testing.T) {
})
}
}
+
+
+func MainTest() {}