diff options
Diffstat (limited to 'generator.go')
| -rw-r--r-- | generator.go | 46 | 
1 files changed, 45 insertions, 1 deletions
| diff --git a/generator.go b/generator.go index dc5baa3..106fe43 100644 --- a/generator.go +++ b/generator.go @@ -496,6 +496,50 @@ func mpTest() {  	cp(filepath.Join("testdata", tag), pth, "*.subtest")  } +func threadTest1() { +	repo := findRepo(sqliteRepo) +	if repo == "" { +		log.Fatalf("repository not found: %v", sqliteRepo) +		return +	} + +	sqlitePth := filepath.Join(repo, "sqlite-amalgamation-"+version) +	tag := "threadtest1" +	test := filepath.Join("internal", "sqlite.org", "sqlite-src-3190300", "test", "threadtest1.c") +	_, src := build( +		defines, +		[][]string{ +			{filepath.Join(sqlitePth, "sqlite3.c")}, +			{test}, +		}, +		[]string{"bin"}, +		cc.EnableAnonymousStructFields(), +		cc.IncludePaths([]string{".", sqlitePth, filepath.Join(repo, "sqlite-src-"+version, "src")}), +	) + +	var b bytes.Buffer +	fmt.Fprintf(&b, prologueTest, tidyComments(header(test))) +	b.Write(src) +	b2, err := format.Source(b.Bytes()) +	if err != nil { +		b2 = b.Bytes() +	} +	if err := os.MkdirAll(filepath.Join("internal", tag), 0775); err != nil { +		log.Fatal(err) +	} + +	if err := os.MkdirAll(filepath.Join("testdata", tag), 0775); err != nil { +		log.Fatal(err) +	} + +	dst := fmt.Sprintf(filepath.Join("internal", tag, tag+"_%s_%s.go"), runtime.GOOS, runtime.GOARCH) +	if err := ioutil.WriteFile(dst, b2, 0664); err != nil { +		log.Fatal(err) +	} + +	unconvert(dst) +} +  func threadTest(n int) {  	repo := findRepo(sqliteRepo)  	if repo == "" { @@ -600,7 +644,7 @@ func main() {  	sqlite()  	mpTest() -	threadTest(1) +	threadTest1()  	threadTest(2)  	threadTest3()  	threadTest(4) | 
