Commit Graph

187 Commits (8c03afee953d7e63315c79bc39ba042bbf25bee9)
 

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í a6d2891a90 switch to gotooltest 4 years ago
Daniel Martí 39802aae19 update deps 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í 2067ad57aa ensure that tests with separate packages work 5 years ago
Daniel Martí 30524ea282 shorten 'go test -short' run time
Down from ~11s to ~7s, as we can skip some extra checks.

While at it, avoid duplicate 'go test' builds in test.txt.
5 years ago
Daniel Martí 9cf7df925d make "no such file" test pass on Windows 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í 2ad7593b06 README: mention filenames, and the difficulty with methods 5 years ago
Daniel Martí 6bbb2088f7 add a caveat about the reflect package 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í 22e7e4e848 add a bincmp builtin test command
To be used soon for reproducible builds.
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í e08dd99c1e introduce a binary grep command for the tests
The problem with the "grep" built-in command is that it prints the
entire data if there is an error. We don't want megabytes of binary
output for a test.
5 years ago
Daniel Martí c19a41c882 README: add build instructions
The import path works now too.
5 years ago
Daniel Martí 3f7e8add01 README: add a standard library caveat 5 years ago
Daniel Martí bd13893d65 README: forgot to finish a sentence 5 years ago
Daniel Martí 522e0d8345 add README 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í 63f58242fb move garble binary setup with $PATH to Setup
This way, it's ready for multiple scripts.
5 years ago
Daniel Martí 8119fa0e62 use readelf in a way that it prints less output 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