summaryrefslogtreecommitdiffhomepage
path: root/tools
AgeCommit message (Collapse)Author
2020-08-26Support stdlib analyzers with nogo.Adin Scannell
This immediately revealed an escape analysis violation (!), where the sync.Map was being used in a context that escapes were not allowed. This is a relatively minor fix and is included. PiperOrigin-RevId: 328611237
2020-08-25Provide --secret-keyring parameter (for newer gpg).Adin Scannell
PiperOrigin-RevId: 328403914
2020-08-25Add nogo support to go_binary and go_test targets.Adin Scannell
Updates #3374 PiperOrigin-RevId: 328378700
2020-08-25[go-marshal] Support marshalling for structs with names starting with W.Ayush Ranjan
Due to how marshallable interface implementation was generated, we could not marshal a struct whose named started with W because there was a naming collision with parameter (w io.Writer) and type (w *StuctName). Used "writer" as parameter name to avoid collision. PiperOrigin-RevId: 328343930
2020-08-14Handle URLs better in issue reviverIan Lewis
- Handle urls ending in / - Add some url parsing tests PiperOrigin-RevId: 326750183
2020-08-07Merge pull request #3520 from boyuan-he:marshal-implgVisor bot
PiperOrigin-RevId: 325546935
2020-08-07Remove old benchmark tools.Zach Koopmans
Remove the old benchmark-tools directory, including imports in the WORKSPACE file and associated bazel rules. The new Golang benchmark-tools can be found at //test/benchmarks and it is functionally equivalent, excepting syscall_test which can be found in //test/perf/linux. PiperOrigin-RevId: 325529075
2020-08-07add stub go marshallable implementationBoyuan He
2020-08-06Add bzl_library rules for .bzl files without one.Adin Scannell
PiperOrigin-RevId: 325280924
2020-08-04Enable "make packetimpact-tests" to work.Adin Scannell
This required minor fixes to the bazel wrapper. The "dut_platform" is also changed to "native" to line-up with the system call tests and remove the hard-coded "linux" and "netstack" strings.
2020-08-03Include shim binaries in the Go branch.Adin Scannell
PiperOrigin-RevId: 324615016
2020-07-30Allocate a pseudo-tty for exec.Adin Scannell
Otherwise Ctrl-C will kill the 'docker exec' as opposed to killing the bazel command being run inside the container. PiperOrigin-RevId: 324079339
2020-07-30Drop complex awk step.Adin Scannell
PiperOrigin-RevId: 324023425
2020-07-27Merge pull request #2797 from Rajpratik71:optimization/pip-no-cachegVisor bot
PiperOrigin-RevId: 323508910
2020-07-27Fix for gvisor-builder image.Bhasker Hariharan
As it happens gvisor/tools/bazel.mk:88 useradd --uid $(UID) --non-unique --no-create-home \ adds the user-id to /var/log/lastlog which happens to be a sparse file except Go's tar support can't handle sparse files so it actually tries to allocate the file to seek to the end causing the VM to run out of disk space. See: https://github.com/moby/moby/issues/5419#issuecomment-193876183 The fix is to pass -l to useradd to prevent it from trying to add to lastlog. Fixes #3397 PiperOrigin-RevId: 323492591
2020-07-27Enable RBE for standard-tests.Adin Scannell
PiperOrigin-RevId: 323454998
2020-07-27Clean-up bazel wrapper.Adin Scannell
The bazel server was being started as the wrong user, leading to issues where the container would suddenly exit during a build. We can also simplify the waiting logic by starting the container in two separate steps: those that must complete first, then the asynchronous bit. PiperOrigin-RevId: 323391161
2020-07-25optimize size and time using "--no-cache-dir"Pratik raj
Using "--no-cache-dir" flag in pip install ,make sure dowloaded packages by pip don't cached on system . This is a best practise which make sure to fetch ftom repo instead of using local cached one . Further , in case of Docker Containers , by restricing caching , we can reduce image size. In term of stats , it depends upon the number of python packages multiplied by their respective size . e.g for heavy packages with a lot of dependencies it reduce a lot by don't caching pip packages. Further , more detail information can be found at https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6
2020-07-24Merge pull request #3356 from amscanne:generics_testsgVisor bot
PiperOrigin-RevId: 323066414
2020-07-24[go-marshal] Update APIAyush Ranjan
- All Marshal* and Unmarshal* methods now require buffers to be correctly sized - Only the Copy{In/Out} variants can handle smaller buffers (or address spaces) PiperOrigin-RevId: 322953881
2020-07-23Convert go_generics tests to starlark.Adin Scannell
For some reason these tests were broken when run via the bazel docker container. The mechanism used was a bit crazy (self-extracting bundle), so convert them to use straight-forward starlark rules. This has the added advantaged that they are now independent tests.
2020-07-23Automated rollback of changelist 321227330Kevin Krakauer
PiperOrigin-RevId: 322888057
2020-07-23Marshallable socket opitons.Ayush Ranjan
Socket option values are now required to implement marshal.Marshallable. Co-authored-by: Rahat Mahmood <rahat@google.com> PiperOrigin-RevId: 322831612
2020-07-23Internal changeMichael Pratt
PiperOrigin-RevId: 322788791
2020-07-23Fix kokoro presubmits!Ayush Ranjan
Fixed the following error: tools/bazel.mk:119: *** Destination not provided.. Stop. The issue was that we were running all make commands in a subshell so variables like $T were not passed on. The other issue was related to credentials. The test passed locally but not on kokoro, the only difference in the workflow was the credentials bit. Also fixed up some other tiny issues I came across, were not blockers. PiperOrigin-RevId: 322782457
2020-07-20Add standard entrypoints for test targets.Adin Scannell
PiperOrigin-RevId: 322265513
2020-07-17Clean up html on the website.Ian Lewis
- Fixes some html validation issues. - Fixes links on security basics blog post. - Adds rel=noopener to links with target=_blank and adds a check to htmlproofer. - Add favicon check to htmlproofer. Fixes #3286 Fixes #3284 PiperOrigin-RevId: 321892602
2020-07-15Fix errors not getting caught when building vm image.Ting-Yu Wang
`set -e` does not catch errors in bash command substituions like `echo $(bad cmd)` so bazel thinks it succeeded and cached the result. PiperOrigin-RevId: 321412327
2020-07-14remove IPv6 dockerKevin Krakauer
Will re-submit when ICMP dest unreachable is handled correctly and it can be turned back on. PiperOrigin-RevId: 321227330
2020-07-13Enable experimental features in docker.Ting-Yu Wang
PiperOrigin-RevId: 321062975
2020-07-13Merge pull request #2672 from amscanne:shim-integratedgVisor bot
PiperOrigin-RevId: 321053634
2020-07-13iptables: remove useless ip6tables VM rulesKevin Krakauer
This rule isn't restored when the Kokoro VM is restarted, so it's not doing anything. And the problem it was meant to solved is instead addressed by https://github.com/google/gvisor/pull/3207. PiperOrigin-RevId: 321026846
2020-07-13Automated rollback of changelist 320972241Adin Scannell
PiperOrigin-RevId: 320999851
2020-07-13Use host networking for build container.Adin Scannell
This will allow the use of default credentials. PiperOrigin-RevId: 320972241
2020-07-09Update shim to build using bazel.Adin Scannell
The go.mod dependency tree for the shim was somehow contradictory. After resolving these issues (e.g. explicitly imported k8s 1.14, pulling a specific dbus version), and adding all dependencies, the shim can now be build as part of the regular bazel tree. As part of this process, minor cleanup was done in all the source files: headers were standardized (and include "The gVisor Authors" in addition to the "The containerd Authors" if originally derived from containerd sources), and comments were cleaned up to meet coding standards. This change makes the containerd installation dynamic, so that multiple versions can be tested, and drops the static installer for the VM image itself. This change also updates test/root/crictl_test.go and related utilities, so that the containerd tests can be run on any version (and in cases where it applies, they can be run on both v1 and v2 as parameterized tests).
2020-07-09Allow arbitrary Go commands for go_mod.sh.Adin Scannell
2020-06-26Enable docker IPv6 in kokoroKevin Krakauer
We need docker IPv6 for ip6tables tests. Docker has spotty IPv6 support, so just enabling IPv6 in daemon.json breaks the Ruby image test (AFAICT it breaks anything that tries to use IPv6 to reach the internet). An ip6tables NAT rule is added to handle this. We could make these changes as part of scripts/, but these would overwrite global values and possibly break users' systems. PiperOrigin-RevId: 318508209
2020-06-23Support for saving pointers to fields in the state package.Adin Scannell
Previously, it was not possible to encode/decode an object graph which contained a pointer to a field within another type. This was because the encoder was previously unable to disambiguate a pointer to an object and a pointer within the object. This CL remedies this by constructing an address map tracking the full memory range object occupy. The encoded Refvalue message has been extended to allow references to children objects within another object. Because the encoding process may learn about object structure over time, we cannot encode any objects under the entire graph has been generated. This CL also updates the state package to use standard interfaces intead of reflection-based dispatch in order to improve performance overall. This includes a custom wire protocol to significantly reduce the number of allocations and take advantage of structure packing. As part of these changes, there are a small number of minor changes in other places of the code base: * The lists used during encoding are changed to use intrusive lists with the objectEncodeState directly, which required that the ilist Len() method is updated to work properly with the ElementMapper mechanism. * A bug is fixed in the list code wherein Remove() called on an element that is already removed can corrupt the list (removing the element if there's only a single element). Now the behavior is correct. * Standard error wrapping is introduced. * Compressio was updated to implement the new wire.Reader and wire.Writer inteface methods directly. The lack of a ReadByte and WriteByte caused issues not due to interface dispatch, but because underlying slices for a Read or Write call through an interface would always escape to the heap! * Statify has been updated to support the new APIs. See README.md for a description of how the new mechanism works. PiperOrigin-RevId: 318010298
2020-06-18Remove various uses of 'whitelist'Michael Pratt
Updates #2972 PiperOrigin-RevId: 317113059
2020-06-17Remove various uses of 'blacklist'Michael Pratt
Updates #2972 PiperOrigin-RevId: 316942245
2020-06-11Enable nogo againFabricio Voznika
PiperOrigin-RevId: 316011323
2020-06-11Add nogo TODO.Michael Pratt
PiperOrigin-RevId: 315911025
2020-06-08Merge pull request #1875 from zhiqiangxu:fix_scope_addgVisor bot
PiperOrigin-RevId: 315341669
2020-06-02make: Allow to specify bazel startup options.Andrei Vagin
And don't parse binary paths for the build target. Signed-off-by: Andrei Vagin <avagin@gmail.com>
2020-06-01Move to make for tag release workflow.Adin Scannell
This will make tag & release workflows idempotent. PiperOrigin-RevId: 314154888
2020-05-29Fix the APT repository structure.Adin Scannell
This change fixes the apt repository structure to avoid emiting warnings on Ubuntu 18.04 (and potentially other versions). This requires a slight refactor of the repository generation scripts, since we can no longer copy the same release files for different "suites". This should avoid the warning by setting the suite to the distribution: https://github.com/Debian/apt/blob/master/apt-pkg/metaindex.cc#L75 This change also moves over to the standardized Makefile entrypoint, which makes settings clearer and enables local testing. PiperOrigin-RevId: 313817017
2020-05-28Merge pull request #2771 from amscanne:fix_buildgVisor bot
PiperOrigin-RevId: 313652557
2020-05-27Merge pull request #2748 from amscanne:go_branchgVisor bot
PiperOrigin-RevId: 313404235
2020-05-25Ensure docker group exists in the container.Adin Scannell
The --groups command will fail if the group is not defined in /etc/groups, even though it is specified by GID. By coincidence, the group happens to be there for many installations of Ubuntu 18.04 (which uses 999 for the Docker group), but it is strangely absent in others (which use 130). Fixes #2765
2020-05-20Normalize permissions in the go branch.Adin Scannell
Fixes #2722