Commit Graph

122 Commits (e33179d48056660898d70841538e9898bfd992c1)

Author SHA1 Message Date
Daniel Martí ce0137fa6a don't break TestMain funcs
Important for 'garble test', if a package uses one.
4 years ago
Daniel Martí 5ccf56662a don't panic with struct pointer anonymous fields
While at it, make the "object of type" code shared and more robust.
5 years ago
Daniel Martí bee30aff41 add initial support for running tests
For now, it mainly consists of not garbling Test* funcs, and not
garbling the _testmain.go file that will run them.

Updates #6.
5 years ago
Daniel Martí c23f529830 use real package paths when typechecking
'go tool compile' receives the package path via the -p flag. This is
better than making up one.

We have to be careful with "-p main" though, as that's not part of the
standard library.
5 years ago
Daniel Martí b6d889cdcf start rejecting unknown non-tool commands 5 years ago
Daniel Martí 0cc6e36414 split main1 with a func returning an error 5 years ago
Daniel Martí 5556be7402 make the tool work on Windows, enable tests
The tests required a few last tweaks to work on Windows.
5 years ago
Daniel Martí 0058dfc12a make output binaries deterministic
We were leaking temporary file paths, which is no longer the case.
5 years ago
Daniel Martí ab560ff007 start testing on GitHub Actions
No windows yet, because a few portability issues remain.
5 years ago
Daniel Martí 63cbc01628 support anonymous fields better 5 years ago
Daniel Martí a87002e662 don't break types implementing interfaces 5 years ago
Daniel Martí 3f35fb07f2 remove module info from the resulting binary 5 years ago
Daniel Martí 33f2a4bc2e remove all unnecessary empty lines from garbled Go 5 years ago
Daniel Martí aba66758ca support type switches with symbolic vars 5 years ago
Daniel Martí 766bb47b82 support std imports 5 years ago
Daniel Martí 1fe0351517 garbling imported packages starts being supported 5 years ago
Daniel Martí 764af03e89 introduce 'garble build' shortcut
This way, the user doesn't need to remember to use flags like -a and
-trimpath. Also because we might need more 'go build' flags in the
future.
5 years ago
Daniel Martí f4e356ab13 start hashing identifiers 5 years ago
Daniel Martí f47c12caba add a bit more docs 5 years ago
Daniel Martí a670f80fe9 error if the user forgot -trimpath 5 years ago
Daniel Martí f81b92a0fa start enforcing the link flags -w -s 5 years ago
Daniel Martí f5f72ef626 initial commit 5 years ago