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) |