├── .final_builds ├── jobs │ ├── bpm-test-agent │ │ └── index.yml │ ├── bpm │ │ └── index.yml │ ├── test-errand │ │ └── index.yml │ └── test-server │ │ └── index.yml ├── license │ └── index.yml └── packages │ ├── bpm-runc │ └── index.yml │ ├── bpm-test-agent │ └── index.yml │ ├── bpm │ └── index.yml │ ├── golang-1-linux │ └── index.yml │ ├── golang │ └── index.yml │ ├── test-server │ └── index.yml │ └── tini │ └── index.yml ├── .github ├── dependabot.yml └── workflows │ └── go.yml ├── .gitignore ├── .golangci.yml ├── .travis.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── ci ├── Dockerfile ├── configure.sh ├── pipeline.yml └── tasks │ ├── bump-local-version │ ├── bump-local-version.yml │ ├── bump-runc-package.sh │ ├── bump-runc-package.yml │ ├── test-acceptance.yml │ ├── test-unit.yml │ └── test-upgrade.yml ├── config ├── blobs.yml └── final.yml ├── docs ├── bpm.md ├── config.md ├── internal │ └── releasing.md ├── proposals │ └── privileged.md ├── public_interface.md ├── runtime.md ├── transitioning.md ├── transitioning_bbr_scripts.md └── undefined.md ├── jobs ├── bpm │ ├── monit │ ├── spec │ └── templates │ │ ├── bpm │ │ ├── pre-start.erb │ │ └── setup.erb ├── test-errand │ ├── monit │ ├── spec │ └── templates │ │ ├── bpm.yml.erb │ │ └── run.sh └── test-server │ ├── monit │ ├── spec │ └── templates │ └── bpm.yml.erb ├── manifests ├── bbl.yml ├── bosh-lite-ci.yml └── bosh-lite.yml ├── packages ├── bpm-runc │ ├── packaging │ └── spec ├── bpm │ ├── packaging │ └── spec ├── golang-1-linux │ └── spec.lock ├── test-server │ ├── packaging │ └── spec └── tini │ ├── packaging │ └── spec ├── releases └── bpm │ ├── bpm-0.1.0.yml │ ├── bpm-0.10.0.yml │ ├── bpm-0.11.0.yml │ ├── bpm-0.12.0.yml │ ├── bpm-0.12.1.yml │ ├── bpm-0.12.2.yml │ ├── bpm-0.12.3.yml │ ├── bpm-0.13.0.yml │ ├── bpm-0.2.0.yml │ ├── bpm-0.3.0.yml │ ├── bpm-0.4.0.yml │ ├── bpm-0.5.0.yml │ ├── bpm-0.6.0.yml │ ├── bpm-0.7.0.yml │ ├── bpm-0.7.1.yml │ ├── bpm-0.8.0.yml │ ├── bpm-0.9.0.yml │ ├── bpm-1.0.0.yml │ ├── bpm-1.0.1.yml │ ├── bpm-1.0.2.yml │ ├── bpm-1.0.3.yml │ ├── bpm-1.0.4.yml │ ├── bpm-1.1.0.yml │ ├── bpm-1.1.1.yml │ ├── bpm-1.1.10.yml │ ├── bpm-1.1.11.yml │ ├── bpm-1.1.12.yml │ ├── bpm-1.1.13.yml │ ├── bpm-1.1.14.yml │ ├── bpm-1.1.15.yml │ ├── bpm-1.1.16.yml │ ├── bpm-1.1.17.yml │ ├── bpm-1.1.18.yml │ ├── bpm-1.1.19.yml │ ├── bpm-1.1.2.yml │ ├── bpm-1.1.20.yml │ ├── bpm-1.1.21.yml │ ├── bpm-1.1.23.yml │ ├── bpm-1.1.3.yml │ ├── bpm-1.1.4.yml │ ├── bpm-1.1.5.yml │ ├── bpm-1.1.6.yml │ ├── bpm-1.1.7.yml │ ├── bpm-1.1.8.yml │ ├── bpm-1.1.9.yml │ ├── bpm-1.2.0.yml │ ├── bpm-1.2.1.yml │ ├── bpm-1.2.10.yml │ ├── bpm-1.2.11.yml │ ├── bpm-1.2.12.yml │ ├── bpm-1.2.13.yml │ ├── bpm-1.2.14.yml │ ├── bpm-1.2.15.yml │ ├── bpm-1.2.16.yml │ ├── bpm-1.2.17.yml │ ├── bpm-1.2.18.yml │ ├── bpm-1.2.19.yml │ ├── bpm-1.2.2.yml │ ├── bpm-1.2.20.yml │ ├── bpm-1.2.21.yml │ ├── bpm-1.2.22.yml │ ├── bpm-1.2.23.yml │ ├── bpm-1.2.24.yml │ ├── bpm-1.2.3.yml │ ├── bpm-1.2.4.yml │ ├── bpm-1.2.5.yml │ ├── bpm-1.2.6.yml │ ├── bpm-1.2.7.yml │ ├── bpm-1.2.8.yml │ ├── bpm-1.2.9.yml │ ├── bpm-1.3.0.yml │ ├── bpm-1.3.1.yml │ ├── bpm-1.3.2.yml │ ├── bpm-1.3.3.yml │ ├── bpm-1.3.4.yml │ ├── bpm-1.4.0.yml │ ├── bpm-1.4.1.yml │ ├── bpm-1.4.10.yml │ ├── bpm-1.4.11.yml │ ├── bpm-1.4.12.yml │ ├── bpm-1.4.13.yml │ ├── bpm-1.4.14.yml │ ├── bpm-1.4.15.yml │ ├── bpm-1.4.16.yml │ ├── bpm-1.4.17.yml │ ├── bpm-1.4.18.yml │ ├── bpm-1.4.19.yml │ ├── bpm-1.4.2.yml │ ├── bpm-1.4.20.yml │ ├── bpm-1.4.3.yml │ ├── bpm-1.4.4.yml │ ├── bpm-1.4.5.yml │ ├── bpm-1.4.6.yml │ ├── bpm-1.4.7.yml │ ├── bpm-1.4.8.yml │ ├── bpm-1.4.9.yml │ └── index.yml ├── runc_filename.tar.xz ├── scripts ├── bosh-lite-acceptance-test ├── go-generate ├── run-acceptance-specs ├── start-docker ├── test-acceptance ├── test-unit ├── test-upgrade ├── test-with-concourse └── test-with-docker └── src ├── bpm ├── .gitignore ├── acceptance │ ├── .gitignore │ ├── bpm_acceptance_suite_test.go │ ├── bpm_acceptance_test.go │ └── fixtures │ │ └── test-server │ │ ├── .gitignore │ │ ├── handlers │ │ ├── curl.go │ │ ├── env.go │ │ ├── hello.go │ │ ├── masked_paths.go │ │ ├── mounts.go │ │ ├── processes.go │ │ ├── syscall_allowed.go │ │ ├── syscall_disallowed.go │ │ ├── syslog.go │ │ ├── varvcap.go │ │ └── whoami.go │ │ └── main.go ├── bosh │ ├── bosh_suite_test.go │ ├── env.go │ ├── env_test.go │ ├── paths.go │ └── paths_test.go ├── cgroups │ ├── cgroup.go │ ├── cgroup_test.go │ └── cgroups_suite_test.go ├── cmd │ └── bpm │ │ └── main.go ├── commands │ ├── list.go │ ├── logs.go │ ├── pid.go │ ├── root.go │ ├── run.go │ ├── shell.go │ ├── start.go │ ├── stop.go │ ├── trace.go │ └── version.go ├── config │ ├── bpm_config.go │ ├── bpm_config_test.go │ ├── config_suite_test.go │ ├── job_config.go │ ├── job_config_test.go │ └── testdata │ │ ├── example-invalid.yml │ │ └── example.yml ├── exitstatus │ ├── error.go │ └── error_test.go ├── flock │ ├── flock.go │ ├── flock_suite_test.go │ └── flock_test.go ├── go.mod ├── go.sum ├── hostlock │ ├── hostlock.go │ ├── hostlock_suite_test.go │ └── hostlock_test.go ├── integration │ ├── bash_test.go │ ├── capabilities_test.go │ ├── integration_suite_test.go │ ├── integration_test.go │ ├── list_test.go │ ├── logs_test.go │ ├── namespaces_test.go │ ├── pid_test.go │ ├── privileged_test.go │ ├── resource_limits_test.go │ ├── run_test.go │ ├── sandbox │ │ └── sandbox.go │ ├── shell_test.go │ ├── start_test.go │ ├── stop_test.go │ ├── testdata │ │ ├── env-flag.yml │ │ ├── errand.yml │ │ ├── failure.yml │ │ ├── odd-status.yml │ │ └── volume-flag.yml │ ├── trace_test.go │ └── version_test.go ├── jobid │ ├── encoding.go │ ├── encoding_test.go │ └── jobid_suite_test.go ├── license_test.go ├── models │ └── models.go ├── presenters │ ├── presenters.go │ ├── presenters_suite_test.go │ └── presenters_test.go ├── runc │ ├── adapter │ │ ├── adapter.go │ │ ├── adapter_suite_test.go │ │ ├── adapter_test.go │ │ └── mount.go │ ├── client │ │ ├── client.go │ │ ├── client_suite_test.go │ │ └── client_test.go │ ├── lifecycle │ │ ├── .gitignore │ │ ├── lifecycle.go │ │ ├── lifecycle_suite_test.go │ │ └── lifecycle_test.go │ └── specbuilder │ │ ├── capabilities.go │ │ ├── seccomp.go │ │ └── specbuilder.go ├── sharedvolume │ └── share.go ├── sysfeat │ └── sysfeat.go ├── tools │ └── tools.go ├── usertools │ ├── finder.go │ ├── finder_test.go │ └── usertools_suite_test.go └── vendor │ ├── code.cloudfoundry.org │ ├── bytefmt │ │ ├── CODEOWNERS │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── bytes.go │ │ ├── package.go │ │ └── staticcheck.conf │ ├── clock │ │ ├── CODEOWNERS │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── clock.go │ │ ├── fakeclock │ │ │ ├── fake_clock.go │ │ │ ├── fake_ticker.go │ │ │ ├── fake_timer.go │ │ │ └── package.go │ │ ├── package.go │ │ ├── ticker.go │ │ └── timer.go │ └── lager │ │ └── v3 │ │ ├── .gitignore │ │ ├── CODEOWNERS │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── handler.go │ │ ├── internal │ │ └── truncate │ │ │ ├── package.go │ │ │ └── truncate.go │ │ ├── json_redacter.go │ │ ├── lagerctx │ │ └── context.go │ │ ├── lagertest │ │ └── test_sink.go │ │ ├── logger.go │ │ ├── models.go │ │ ├── reconfigurable_sink.go │ │ ├── redacting_sink.go │ │ ├── slog_sink.go │ │ ├── tools.go │ │ ├── truncating_sink.go │ │ └── writer_sink.go │ ├── github.com │ ├── coreos │ │ └── go-systemd │ │ │ └── v22 │ │ │ ├── LICENSE │ │ │ ├── NOTICE │ │ │ └── dbus │ │ │ ├── dbus.go │ │ │ ├── methods.go │ │ │ ├── properties.go │ │ │ ├── set.go │ │ │ ├── subscription.go │ │ │ └── subscription_set.go │ ├── creack │ │ └── pty │ │ │ ├── .gitignore │ │ │ ├── Dockerfile.riscv │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── ioctl.go │ │ │ ├── ioctl_bsd.go │ │ │ ├── ioctl_solaris.go │ │ │ ├── mktypes.bash │ │ │ ├── pty_darwin.go │ │ │ ├── pty_dragonfly.go │ │ │ ├── pty_freebsd.go │ │ │ ├── pty_linux.go │ │ │ ├── pty_openbsd.go │ │ │ ├── pty_solaris.go │ │ │ ├── pty_unsupported.go │ │ │ ├── run.go │ │ │ ├── test_crosscompile.sh │ │ │ ├── util.go │ │ │ ├── util_solaris.go │ │ │ ├── ztypes_386.go │ │ │ ├── ztypes_amd64.go │ │ │ ├── ztypes_arm.go │ │ │ ├── ztypes_arm64.go │ │ │ ├── ztypes_dragonfly_amd64.go │ │ │ ├── ztypes_freebsd_386.go │ │ │ ├── ztypes_freebsd_amd64.go │ │ │ ├── ztypes_freebsd_arm.go │ │ │ ├── ztypes_mipsx.go │ │ │ ├── ztypes_openbsd_386.go │ │ │ ├── ztypes_openbsd_amd64.go │ │ │ ├── ztypes_ppc64.go │ │ │ ├── ztypes_ppc64le.go │ │ │ ├── ztypes_riscvx.go │ │ │ └── ztypes_s390x.go │ ├── cyphar │ │ └── filepath-securejoin │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── VERSION │ │ │ ├── doc.go │ │ │ ├── gocompat_errors_go120.go │ │ │ ├── gocompat_errors_unsupported.go │ │ │ ├── gocompat_generics_go121.go │ │ │ ├── gocompat_generics_unsupported.go │ │ │ ├── join.go │ │ │ ├── lookup_linux.go │ │ │ ├── mkdir_linux.go │ │ │ ├── open_linux.go │ │ │ ├── openat2_linux.go │ │ │ ├── openat_linux.go │ │ │ ├── procfs_linux.go │ │ │ └── vfs.go │ ├── go-logr │ │ └── logr │ │ │ ├── .golangci.yaml │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── SECURITY.md │ │ │ ├── context.go │ │ │ ├── context_noslog.go │ │ │ ├── context_slog.go │ │ │ ├── discard.go │ │ │ ├── funcr │ │ │ ├── funcr.go │ │ │ └── slogsink.go │ │ │ ├── logr.go │ │ │ ├── sloghandler.go │ │ │ ├── slogr.go │ │ │ └── slogsink.go │ ├── go-task │ │ └── slim-sprig │ │ │ └── v3 │ │ │ ├── .editorconfig │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── Taskfile.yml │ │ │ ├── crypto.go │ │ │ ├── date.go │ │ │ ├── defaults.go │ │ │ ├── dict.go │ │ │ ├── doc.go │ │ │ ├── functions.go │ │ │ ├── list.go │ │ │ ├── network.go │ │ │ ├── numeric.go │ │ │ ├── reflect.go │ │ │ ├── regex.go │ │ │ ├── strings.go │ │ │ └── url.go │ ├── godbus │ │ └── dbus │ │ │ └── v5 │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── MAINTAINERS │ │ │ ├── README.md │ │ │ ├── auth.go │ │ │ ├── auth_anonymous.go │ │ │ ├── auth_external.go │ │ │ ├── auth_sha1.go │ │ │ ├── call.go │ │ │ ├── conn.go │ │ │ ├── conn_darwin.go │ │ │ ├── conn_other.go │ │ │ ├── conn_unix.go │ │ │ ├── conn_windows.go │ │ │ ├── dbus.go │ │ │ ├── decoder.go │ │ │ ├── default_handler.go │ │ │ ├── doc.go │ │ │ ├── encoder.go │ │ │ ├── escape.go │ │ │ ├── export.go │ │ │ ├── homedir.go │ │ │ ├── match.go │ │ │ ├── message.go │ │ │ ├── object.go │ │ │ ├── sequence.go │ │ │ ├── sequential_handler.go │ │ │ ├── server_interfaces.go │ │ │ ├── sig.go │ │ │ ├── transport_darwin.go │ │ │ ├── transport_generic.go │ │ │ ├── transport_nonce_tcp.go │ │ │ ├── transport_tcp.go │ │ │ ├── transport_unix.go │ │ │ ├── transport_unixcred_dragonfly.go │ │ │ ├── transport_unixcred_freebsd.go │ │ │ ├── transport_unixcred_linux.go │ │ │ ├── transport_unixcred_netbsd.go │ │ │ ├── transport_unixcred_openbsd.go │ │ │ ├── transport_zos.go │ │ │ ├── variant.go │ │ │ ├── variant_lexer.go │ │ │ └── variant_parser.go │ ├── google │ │ ├── go-cmp │ │ │ ├── LICENSE │ │ │ └── cmp │ │ │ │ ├── compare.go │ │ │ │ ├── export.go │ │ │ │ ├── internal │ │ │ │ ├── diff │ │ │ │ │ ├── debug_disable.go │ │ │ │ │ ├── debug_enable.go │ │ │ │ │ └── diff.go │ │ │ │ ├── flags │ │ │ │ │ └── flags.go │ │ │ │ ├── function │ │ │ │ │ └── func.go │ │ │ │ └── value │ │ │ │ │ ├── name.go │ │ │ │ │ ├── pointer.go │ │ │ │ │ └── sort.go │ │ │ │ ├── options.go │ │ │ │ ├── path.go │ │ │ │ ├── report.go │ │ │ │ ├── report_compare.go │ │ │ │ ├── report_references.go │ │ │ │ ├── report_reflect.go │ │ │ │ ├── report_slices.go │ │ │ │ ├── report_text.go │ │ │ │ └── report_value.go │ │ └── pprof │ │ │ ├── AUTHORS │ │ │ ├── CONTRIBUTORS │ │ │ ├── LICENSE │ │ │ └── profile │ │ │ ├── encode.go │ │ │ ├── filter.go │ │ │ ├── index.go │ │ │ ├── legacy_java_profile.go │ │ │ ├── legacy_profile.go │ │ │ ├── merge.go │ │ │ ├── profile.go │ │ │ ├── proto.go │ │ │ └── prune.go │ ├── inconshreveable │ │ └── mousetrap │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── trap_others.go │ │ │ └── trap_windows.go │ ├── kr │ │ └── pty │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── shim.go │ ├── moby │ │ └── sys │ │ │ ├── mountinfo │ │ │ ├── LICENSE │ │ │ ├── doc.go │ │ │ ├── mounted_linux.go │ │ │ ├── mounted_unix.go │ │ │ ├── mountinfo.go │ │ │ ├── mountinfo_bsd.go │ │ │ ├── mountinfo_filters.go │ │ │ ├── mountinfo_freebsdlike.go │ │ │ ├── mountinfo_linux.go │ │ │ ├── mountinfo_openbsd.go │ │ │ ├── mountinfo_unsupported.go │ │ │ └── mountinfo_windows.go │ │ │ └── userns │ │ │ ├── LICENSE │ │ │ ├── userns.go │ │ │ ├── userns_linux.go │ │ │ ├── userns_linux_fuzzer.go │ │ │ └── userns_unsupported.go │ ├── onsi │ │ ├── ginkgo │ │ │ └── v2 │ │ │ │ ├── .gitignore │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── RELEASING.md │ │ │ │ ├── config │ │ │ │ └── deprecated.go │ │ │ │ ├── core_dsl.go │ │ │ │ ├── decorator_dsl.go │ │ │ │ ├── deprecated_dsl.go │ │ │ │ ├── formatter │ │ │ │ ├── colorable_others.go │ │ │ │ ├── colorable_windows.go │ │ │ │ └── formatter.go │ │ │ │ ├── ginkgo │ │ │ │ ├── build │ │ │ │ │ └── build_command.go │ │ │ │ ├── command │ │ │ │ │ ├── abort.go │ │ │ │ │ ├── command.go │ │ │ │ │ └── program.go │ │ │ │ ├── generators │ │ │ │ │ ├── boostrap_templates.go │ │ │ │ │ ├── bootstrap_command.go │ │ │ │ │ ├── generate_command.go │ │ │ │ │ ├── generate_templates.go │ │ │ │ │ └── generators_common.go │ │ │ │ ├── internal │ │ │ │ │ ├── compile.go │ │ │ │ │ ├── gocovmerge.go │ │ │ │ │ ├── profiles_and_reports.go │ │ │ │ │ ├── run.go │ │ │ │ │ ├── test_suite.go │ │ │ │ │ ├── utils.go │ │ │ │ │ └── verify_version.go │ │ │ │ ├── labels │ │ │ │ │ └── labels_command.go │ │ │ │ ├── main.go │ │ │ │ ├── outline │ │ │ │ │ ├── ginkgo.go │ │ │ │ │ ├── import.go │ │ │ │ │ ├── outline.go │ │ │ │ │ └── outline_command.go │ │ │ │ ├── run │ │ │ │ │ └── run_command.go │ │ │ │ ├── unfocus │ │ │ │ │ └── unfocus_command.go │ │ │ │ └── watch │ │ │ │ │ ├── delta.go │ │ │ │ │ ├── delta_tracker.go │ │ │ │ │ ├── dependencies.go │ │ │ │ │ ├── package_hash.go │ │ │ │ │ ├── package_hashes.go │ │ │ │ │ ├── suite.go │ │ │ │ │ └── watch_command.go │ │ │ │ ├── ginkgo_cli_dependencies.go │ │ │ │ ├── ginkgo_t_dsl.go │ │ │ │ ├── internal │ │ │ │ ├── counter.go │ │ │ │ ├── failer.go │ │ │ │ ├── focus.go │ │ │ │ ├── global │ │ │ │ │ └── init.go │ │ │ │ ├── group.go │ │ │ │ ├── interrupt_handler │ │ │ │ │ ├── interrupt_handler.go │ │ │ │ │ ├── sigquit_swallower_unix.go │ │ │ │ │ └── sigquit_swallower_windows.go │ │ │ │ ├── node.go │ │ │ │ ├── ordering.go │ │ │ │ ├── output_interceptor.go │ │ │ │ ├── output_interceptor_unix.go │ │ │ │ ├── output_interceptor_wasm.go │ │ │ │ ├── output_interceptor_win.go │ │ │ │ ├── parallel_support │ │ │ │ │ ├── client_server.go │ │ │ │ │ ├── http_client.go │ │ │ │ │ ├── http_server.go │ │ │ │ │ ├── rpc_client.go │ │ │ │ │ ├── rpc_server.go │ │ │ │ │ └── server_handler.go │ │ │ │ ├── progress_report.go │ │ │ │ ├── progress_report_bsd.go │ │ │ │ ├── progress_report_unix.go │ │ │ │ ├── progress_report_wasm.go │ │ │ │ ├── progress_report_win.go │ │ │ │ ├── progress_reporter_manager.go │ │ │ │ ├── report_entry.go │ │ │ │ ├── spec.go │ │ │ │ ├── spec_context.go │ │ │ │ ├── suite.go │ │ │ │ ├── testingtproxy │ │ │ │ │ └── testing_t_proxy.go │ │ │ │ ├── tree.go │ │ │ │ └── writer.go │ │ │ │ ├── reporters │ │ │ │ ├── default_reporter.go │ │ │ │ ├── deprecated_reporter.go │ │ │ │ ├── json_report.go │ │ │ │ ├── junit_report.go │ │ │ │ ├── reporter.go │ │ │ │ └── teamcity_report.go │ │ │ │ ├── reporting_dsl.go │ │ │ │ ├── table_dsl.go │ │ │ │ └── types │ │ │ │ ├── code_location.go │ │ │ │ ├── config.go │ │ │ │ ├── deprecated_types.go │ │ │ │ ├── deprecation_support.go │ │ │ │ ├── enum_support.go │ │ │ │ ├── errors.go │ │ │ │ ├── file_filter.go │ │ │ │ ├── flags.go │ │ │ │ ├── label_filter.go │ │ │ │ ├── report_entry.go │ │ │ │ ├── types.go │ │ │ │ └── version.go │ │ └── gomega │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── RELEASING.md │ │ │ ├── format │ │ │ └── format.go │ │ │ ├── gbytes │ │ │ ├── buffer.go │ │ │ ├── io_wrappers.go │ │ │ └── say_matcher.go │ │ │ ├── gexec │ │ │ ├── build.go │ │ │ ├── exit_matcher.go │ │ │ ├── prefixed_writer.go │ │ │ └── session.go │ │ │ ├── gomega_dsl.go │ │ │ ├── internal │ │ │ ├── assertion.go │ │ │ ├── async_assertion.go │ │ │ ├── duration_bundle.go │ │ │ ├── gomega.go │ │ │ ├── gutil │ │ │ │ ├── post_ioutil.go │ │ │ │ └── using_ioutil.go │ │ │ ├── polling_signal_error.go │ │ │ └── vetoptdesc.go │ │ │ ├── matchers.go │ │ │ ├── matchers │ │ │ ├── and.go │ │ │ ├── assignable_to_type_of_matcher.go │ │ │ ├── attributes_slice.go │ │ │ ├── be_a_directory.go │ │ │ ├── be_a_regular_file.go │ │ │ ├── be_an_existing_file.go │ │ │ ├── be_closed_matcher.go │ │ │ ├── be_comparable_to_matcher.go │ │ │ ├── be_element_of_matcher.go │ │ │ ├── be_empty_matcher.go │ │ │ ├── be_equivalent_to_matcher.go │ │ │ ├── be_false_matcher.go │ │ │ ├── be_identical_to.go │ │ │ ├── be_key_of_matcher.go │ │ │ ├── be_nil_matcher.go │ │ │ ├── be_numerically_matcher.go │ │ │ ├── be_sent_matcher.go │ │ │ ├── be_temporally_matcher.go │ │ │ ├── be_true_matcher.go │ │ │ ├── be_zero_matcher.go │ │ │ ├── consist_of.go │ │ │ ├── contain_element_matcher.go │ │ │ ├── contain_elements_matcher.go │ │ │ ├── contain_substring_matcher.go │ │ │ ├── equal_matcher.go │ │ │ ├── have_cap_matcher.go │ │ │ ├── have_each_matcher.go │ │ │ ├── have_exact_elements.go │ │ │ ├── have_existing_field_matcher.go │ │ │ ├── have_field.go │ │ │ ├── have_http_body_matcher.go │ │ │ ├── have_http_header_with_value_matcher.go │ │ │ ├── have_http_status_matcher.go │ │ │ ├── have_key_matcher.go │ │ │ ├── have_key_with_value_matcher.go │ │ │ ├── have_len_matcher.go │ │ │ ├── have_occurred_matcher.go │ │ │ ├── have_prefix_matcher.go │ │ │ ├── have_suffix_matcher.go │ │ │ ├── have_value.go │ │ │ ├── internal │ │ │ │ └── miter │ │ │ │ │ ├── type_support_iter.go │ │ │ │ │ └── type_support_noiter.go │ │ │ ├── match_error_matcher.go │ │ │ ├── match_json_matcher.go │ │ │ ├── match_regexp_matcher.go │ │ │ ├── match_xml_matcher.go │ │ │ ├── match_yaml_matcher.go │ │ │ ├── not.go │ │ │ ├── or.go │ │ │ ├── panic_matcher.go │ │ │ ├── receive_matcher.go │ │ │ ├── satisfy_matcher.go │ │ │ ├── semi_structured_data_support.go │ │ │ ├── succeed_matcher.go │ │ │ ├── support │ │ │ │ └── goraph │ │ │ │ │ ├── bipartitegraph │ │ │ │ │ ├── bipartitegraph.go │ │ │ │ │ └── bipartitegraphmatching.go │ │ │ │ │ ├── edge │ │ │ │ │ └── edge.go │ │ │ │ │ ├── node │ │ │ │ │ └── node.go │ │ │ │ │ └── util │ │ │ │ │ └── util.go │ │ │ ├── type_support.go │ │ │ └── with_transform.go │ │ │ └── types │ │ │ └── types.go │ ├── opencontainers │ │ ├── runc │ │ │ ├── LICENSE │ │ │ ├── NOTICE │ │ │ └── libcontainer │ │ │ │ ├── cgroups │ │ │ │ ├── cgroups.go │ │ │ │ ├── file.go │ │ │ │ ├── getallpids.go │ │ │ │ ├── stats.go │ │ │ │ ├── utils.go │ │ │ │ └── v1_utils.go │ │ │ │ ├── configs │ │ │ │ ├── blkio_device.go │ │ │ │ ├── cgroup_linux.go │ │ │ │ ├── cgroup_unsupported.go │ │ │ │ ├── config.go │ │ │ │ ├── config_linux.go │ │ │ │ ├── configs_fuzzer.go │ │ │ │ ├── hugepage_limit.go │ │ │ │ ├── intelrdt.go │ │ │ │ ├── interface_priority_map.go │ │ │ │ ├── mount.go │ │ │ │ ├── mount_linux.go │ │ │ │ ├── mount_unsupported.go │ │ │ │ ├── namespaces.go │ │ │ │ ├── namespaces_linux.go │ │ │ │ ├── namespaces_syscall.go │ │ │ │ ├── namespaces_syscall_unsupported.go │ │ │ │ ├── namespaces_unsupported.go │ │ │ │ ├── network.go │ │ │ │ └── rdma.go │ │ │ │ ├── devices │ │ │ │ ├── device.go │ │ │ │ └── device_unix.go │ │ │ │ └── utils │ │ │ │ ├── cmsg.go │ │ │ │ ├── utils.go │ │ │ │ └── utils_unix.go │ │ └── runtime-spec │ │ │ ├── LICENSE │ │ │ └── specs-go │ │ │ ├── config.go │ │ │ ├── state.go │ │ │ └── version.go │ ├── openzipkin │ │ └── zipkin-go │ │ │ ├── LICENSE │ │ │ ├── idgenerator │ │ │ └── idgenerator.go │ │ │ └── model │ │ │ ├── annotation.go │ │ │ ├── doc.go │ │ │ ├── endpoint.go │ │ │ ├── kind.go │ │ │ ├── span.go │ │ │ ├── span_id.go │ │ │ └── traceid.go │ ├── satori │ │ └── go.uuid │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── codec.go │ │ │ ├── generator.go │ │ │ ├── sql.go │ │ │ └── uuid.go │ ├── sirupsen │ │ └── logrus │ │ │ ├── .gitignore │ │ │ ├── .golangci.yml │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── alt_exit.go │ │ │ ├── appveyor.yml │ │ │ ├── buffer_pool.go │ │ │ ├── doc.go │ │ │ ├── entry.go │ │ │ ├── exported.go │ │ │ ├── formatter.go │ │ │ ├── hooks.go │ │ │ ├── json_formatter.go │ │ │ ├── logger.go │ │ │ ├── logrus.go │ │ │ ├── terminal_check_appengine.go │ │ │ ├── terminal_check_bsd.go │ │ │ ├── terminal_check_js.go │ │ │ ├── terminal_check_no_terminal.go │ │ │ ├── terminal_check_notappengine.go │ │ │ ├── terminal_check_solaris.go │ │ │ ├── terminal_check_unix.go │ │ │ ├── terminal_check_windows.go │ │ │ ├── text_formatter.go │ │ │ └── writer.go │ └── spf13 │ │ ├── cobra │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── .mailmap │ │ ├── CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.txt │ │ ├── MAINTAINERS │ │ ├── Makefile │ │ ├── README.md │ │ ├── active_help.go │ │ ├── args.go │ │ ├── bash_completions.go │ │ ├── bash_completionsV2.go │ │ ├── cobra.go │ │ ├── command.go │ │ ├── command_notwin.go │ │ ├── command_win.go │ │ ├── completions.go │ │ ├── fish_completions.go │ │ ├── flag_groups.go │ │ ├── powershell_completions.go │ │ ├── shell_completions.go │ │ └── zsh_completions.go │ │ └── pflag │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── .golangci.yaml │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bool.go │ │ ├── bool_slice.go │ │ ├── bytes.go │ │ ├── count.go │ │ ├── duration.go │ │ ├── duration_slice.go │ │ ├── flag.go │ │ ├── float32.go │ │ ├── float32_slice.go │ │ ├── float64.go │ │ ├── float64_slice.go │ │ ├── golangflag.go │ │ ├── int.go │ │ ├── int16.go │ │ ├── int32.go │ │ ├── int32_slice.go │ │ ├── int64.go │ │ ├── int64_slice.go │ │ ├── int8.go │ │ ├── int_slice.go │ │ ├── ip.go │ │ ├── ip_slice.go │ │ ├── ipmask.go │ │ ├── ipnet.go │ │ ├── ipnet_slice.go │ │ ├── string.go │ │ ├── string_array.go │ │ ├── string_slice.go │ │ ├── string_to_int.go │ │ ├── string_to_int64.go │ │ ├── string_to_string.go │ │ ├── uint.go │ │ ├── uint16.go │ │ ├── uint32.go │ │ ├── uint64.go │ │ ├── uint8.go │ │ └── uint_slice.go │ ├── go.uber.org │ ├── automaxprocs │ │ ├── .codecov.yml │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── automaxprocs.go │ │ ├── internal │ │ │ ├── cgroups │ │ │ │ ├── cgroup.go │ │ │ │ ├── cgroups.go │ │ │ │ ├── cgroups2.go │ │ │ │ ├── doc.go │ │ │ │ ├── errors.go │ │ │ │ ├── mountpoint.go │ │ │ │ └── subsys.go │ │ │ └── runtime │ │ │ │ ├── cpu_quota_linux.go │ │ │ │ ├── cpu_quota_unsupported.go │ │ │ │ └── runtime.go │ │ └── maxprocs │ │ │ ├── maxprocs.go │ │ │ └── version.go │ └── mock │ │ ├── AUTHORS │ │ ├── LICENSE │ │ ├── gomock │ │ ├── call.go │ │ ├── callset.go │ │ ├── controller.go │ │ ├── doc.go │ │ ├── matchers.go │ │ └── string.go │ │ └── mockgen │ │ ├── deprecated.go │ │ ├── generic.go │ │ ├── gob.go │ │ ├── mockgen.go │ │ ├── model │ │ └── model.go │ │ ├── package_mode.go │ │ ├── parse.go │ │ └── version.go │ ├── golang.org │ └── x │ │ ├── mod │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── internal │ │ │ └── lazyregexp │ │ │ │ └── lazyre.go │ │ ├── modfile │ │ │ ├── print.go │ │ │ ├── read.go │ │ │ ├── rule.go │ │ │ └── work.go │ │ ├── module │ │ │ ├── module.go │ │ │ └── pseudo.go │ │ └── semver │ │ │ └── semver.go │ │ ├── net │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── html │ │ │ ├── atom │ │ │ ├── atom.go │ │ │ └── table.go │ │ │ ├── charset │ │ │ └── charset.go │ │ │ ├── const.go │ │ │ ├── doc.go │ │ │ ├── doctype.go │ │ │ ├── entity.go │ │ │ ├── escape.go │ │ │ ├── foreign.go │ │ │ ├── iter.go │ │ │ ├── node.go │ │ │ ├── parse.go │ │ │ ├── render.go │ │ │ └── token.go │ │ ├── sync │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── errgroup │ │ │ └── errgroup.go │ │ ├── sys │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── unix │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── affinity_linux.go │ │ │ ├── aliases.go │ │ │ ├── asm_aix_ppc64.s │ │ │ ├── asm_bsd_386.s │ │ │ ├── asm_bsd_amd64.s │ │ │ ├── asm_bsd_arm.s │ │ │ ├── asm_bsd_arm64.s │ │ │ ├── asm_bsd_ppc64.s │ │ │ ├── asm_bsd_riscv64.s │ │ │ ├── asm_linux_386.s │ │ │ ├── asm_linux_amd64.s │ │ │ ├── asm_linux_arm.s │ │ │ ├── asm_linux_arm64.s │ │ │ ├── asm_linux_loong64.s │ │ │ ├── asm_linux_mips64x.s │ │ │ ├── asm_linux_mipsx.s │ │ │ ├── asm_linux_ppc64x.s │ │ │ ├── asm_linux_riscv64.s │ │ │ ├── asm_linux_s390x.s │ │ │ ├── asm_openbsd_mips64.s │ │ │ ├── asm_solaris_amd64.s │ │ │ ├── asm_zos_s390x.s │ │ │ ├── auxv.go │ │ │ ├── auxv_unsupported.go │ │ │ ├── bluetooth_linux.go │ │ │ ├── bpxsvc_zos.go │ │ │ ├── bpxsvc_zos.s │ │ │ ├── cap_freebsd.go │ │ │ ├── constants.go │ │ │ ├── dev_aix_ppc.go │ │ │ ├── dev_aix_ppc64.go │ │ │ ├── dev_darwin.go │ │ │ ├── dev_dragonfly.go │ │ │ ├── dev_freebsd.go │ │ │ ├── dev_linux.go │ │ │ ├── dev_netbsd.go │ │ │ ├── dev_openbsd.go │ │ │ ├── dev_zos.go │ │ │ ├── dirent.go │ │ │ ├── endian_big.go │ │ │ ├── endian_little.go │ │ │ ├── env_unix.go │ │ │ ├── fcntl.go │ │ │ ├── fcntl_darwin.go │ │ │ ├── fcntl_linux_32bit.go │ │ │ ├── fdset.go │ │ │ ├── gccgo.go │ │ │ ├── gccgo_c.c │ │ │ ├── gccgo_linux_amd64.go │ │ │ ├── ifreq_linux.go │ │ │ ├── ioctl_linux.go │ │ │ ├── ioctl_signed.go │ │ │ ├── ioctl_unsigned.go │ │ │ ├── ioctl_zos.go │ │ │ ├── mkall.sh │ │ │ ├── mkerrors.sh │ │ │ ├── mmap_nomremap.go │ │ │ ├── mremap.go │ │ │ ├── pagesize_unix.go │ │ │ ├── pledge_openbsd.go │ │ │ ├── ptrace_darwin.go │ │ │ ├── ptrace_ios.go │ │ │ ├── race.go │ │ │ ├── race0.go │ │ │ ├── readdirent_getdents.go │ │ │ ├── readdirent_getdirentries.go │ │ │ ├── sockcmsg_dragonfly.go │ │ │ ├── sockcmsg_linux.go │ │ │ ├── sockcmsg_unix.go │ │ │ ├── sockcmsg_unix_other.go │ │ │ ├── sockcmsg_zos.go │ │ │ ├── symaddr_zos_s390x.s │ │ │ ├── syscall.go │ │ │ ├── syscall_aix.go │ │ │ ├── syscall_aix_ppc.go │ │ │ ├── syscall_aix_ppc64.go │ │ │ ├── syscall_bsd.go │ │ │ ├── syscall_darwin.go │ │ │ ├── syscall_darwin_amd64.go │ │ │ ├── syscall_darwin_arm64.go │ │ │ ├── syscall_darwin_libSystem.go │ │ │ ├── syscall_dragonfly.go │ │ │ ├── syscall_dragonfly_amd64.go │ │ │ ├── syscall_freebsd.go │ │ │ ├── syscall_freebsd_386.go │ │ │ ├── syscall_freebsd_amd64.go │ │ │ ├── syscall_freebsd_arm.go │ │ │ ├── syscall_freebsd_arm64.go │ │ │ ├── syscall_freebsd_riscv64.go │ │ │ ├── syscall_hurd.go │ │ │ ├── syscall_hurd_386.go │ │ │ ├── syscall_illumos.go │ │ │ ├── syscall_linux.go │ │ │ ├── syscall_linux_386.go │ │ │ ├── syscall_linux_alarm.go │ │ │ ├── syscall_linux_amd64.go │ │ │ ├── syscall_linux_amd64_gc.go │ │ │ ├── syscall_linux_arm.go │ │ │ ├── syscall_linux_arm64.go │ │ │ ├── syscall_linux_gc.go │ │ │ ├── syscall_linux_gc_386.go │ │ │ ├── syscall_linux_gc_arm.go │ │ │ ├── syscall_linux_gccgo_386.go │ │ │ ├── syscall_linux_gccgo_arm.go │ │ │ ├── syscall_linux_loong64.go │ │ │ ├── syscall_linux_mips64x.go │ │ │ ├── syscall_linux_mipsx.go │ │ │ ├── syscall_linux_ppc.go │ │ │ ├── syscall_linux_ppc64x.go │ │ │ ├── syscall_linux_riscv64.go │ │ │ ├── syscall_linux_s390x.go │ │ │ ├── syscall_linux_sparc64.go │ │ │ ├── syscall_netbsd.go │ │ │ ├── syscall_netbsd_386.go │ │ │ ├── syscall_netbsd_amd64.go │ │ │ ├── syscall_netbsd_arm.go │ │ │ ├── syscall_netbsd_arm64.go │ │ │ ├── syscall_openbsd.go │ │ │ ├── syscall_openbsd_386.go │ │ │ ├── syscall_openbsd_amd64.go │ │ │ ├── syscall_openbsd_arm.go │ │ │ ├── syscall_openbsd_arm64.go │ │ │ ├── syscall_openbsd_libc.go │ │ │ ├── syscall_openbsd_mips64.go │ │ │ ├── syscall_openbsd_ppc64.go │ │ │ ├── syscall_openbsd_riscv64.go │ │ │ ├── syscall_solaris.go │ │ │ ├── syscall_solaris_amd64.go │ │ │ ├── syscall_unix.go │ │ │ ├── syscall_unix_gc.go │ │ │ ├── syscall_unix_gc_ppc64x.go │ │ │ ├── syscall_zos_s390x.go │ │ │ ├── sysvshm_linux.go │ │ │ ├── sysvshm_unix.go │ │ │ ├── sysvshm_unix_other.go │ │ │ ├── timestruct.go │ │ │ ├── unveil_openbsd.go │ │ │ ├── vgetrandom_linux.go │ │ │ ├── vgetrandom_unsupported.go │ │ │ ├── xattr_bsd.go │ │ │ ├── zerrors_aix_ppc.go │ │ │ ├── zerrors_aix_ppc64.go │ │ │ ├── zerrors_darwin_amd64.go │ │ │ ├── zerrors_darwin_arm64.go │ │ │ ├── zerrors_dragonfly_amd64.go │ │ │ ├── zerrors_freebsd_386.go │ │ │ ├── zerrors_freebsd_amd64.go │ │ │ ├── zerrors_freebsd_arm.go │ │ │ ├── zerrors_freebsd_arm64.go │ │ │ ├── zerrors_freebsd_riscv64.go │ │ │ ├── zerrors_linux.go │ │ │ ├── zerrors_linux_386.go │ │ │ ├── zerrors_linux_amd64.go │ │ │ ├── zerrors_linux_arm.go │ │ │ ├── zerrors_linux_arm64.go │ │ │ ├── zerrors_linux_loong64.go │ │ │ ├── zerrors_linux_mips.go │ │ │ ├── zerrors_linux_mips64.go │ │ │ ├── zerrors_linux_mips64le.go │ │ │ ├── zerrors_linux_mipsle.go │ │ │ ├── zerrors_linux_ppc.go │ │ │ ├── zerrors_linux_ppc64.go │ │ │ ├── zerrors_linux_ppc64le.go │ │ │ ├── zerrors_linux_riscv64.go │ │ │ ├── zerrors_linux_s390x.go │ │ │ ├── zerrors_linux_sparc64.go │ │ │ ├── zerrors_netbsd_386.go │ │ │ ├── zerrors_netbsd_amd64.go │ │ │ ├── zerrors_netbsd_arm.go │ │ │ ├── zerrors_netbsd_arm64.go │ │ │ ├── zerrors_openbsd_386.go │ │ │ ├── zerrors_openbsd_amd64.go │ │ │ ├── zerrors_openbsd_arm.go │ │ │ ├── zerrors_openbsd_arm64.go │ │ │ ├── zerrors_openbsd_mips64.go │ │ │ ├── zerrors_openbsd_ppc64.go │ │ │ ├── zerrors_openbsd_riscv64.go │ │ │ ├── zerrors_solaris_amd64.go │ │ │ ├── zerrors_zos_s390x.go │ │ │ ├── zptrace_armnn_linux.go │ │ │ ├── zptrace_linux_arm64.go │ │ │ ├── zptrace_mipsnn_linux.go │ │ │ ├── zptrace_mipsnnle_linux.go │ │ │ ├── zptrace_x86_linux.go │ │ │ ├── zsymaddr_zos_s390x.s │ │ │ ├── zsyscall_aix_ppc.go │ │ │ ├── zsyscall_aix_ppc64.go │ │ │ ├── zsyscall_aix_ppc64_gc.go │ │ │ ├── zsyscall_aix_ppc64_gccgo.go │ │ │ ├── zsyscall_darwin_amd64.go │ │ │ ├── zsyscall_darwin_amd64.s │ │ │ ├── zsyscall_darwin_arm64.go │ │ │ ├── zsyscall_darwin_arm64.s │ │ │ ├── zsyscall_dragonfly_amd64.go │ │ │ ├── zsyscall_freebsd_386.go │ │ │ ├── zsyscall_freebsd_amd64.go │ │ │ ├── zsyscall_freebsd_arm.go │ │ │ ├── zsyscall_freebsd_arm64.go │ │ │ ├── zsyscall_freebsd_riscv64.go │ │ │ ├── zsyscall_illumos_amd64.go │ │ │ ├── zsyscall_linux.go │ │ │ ├── zsyscall_linux_386.go │ │ │ ├── zsyscall_linux_amd64.go │ │ │ ├── zsyscall_linux_arm.go │ │ │ ├── zsyscall_linux_arm64.go │ │ │ ├── zsyscall_linux_loong64.go │ │ │ ├── zsyscall_linux_mips.go │ │ │ ├── zsyscall_linux_mips64.go │ │ │ ├── zsyscall_linux_mips64le.go │ │ │ ├── zsyscall_linux_mipsle.go │ │ │ ├── zsyscall_linux_ppc.go │ │ │ ├── zsyscall_linux_ppc64.go │ │ │ ├── zsyscall_linux_ppc64le.go │ │ │ ├── zsyscall_linux_riscv64.go │ │ │ ├── zsyscall_linux_s390x.go │ │ │ ├── zsyscall_linux_sparc64.go │ │ │ ├── zsyscall_netbsd_386.go │ │ │ ├── zsyscall_netbsd_amd64.go │ │ │ ├── zsyscall_netbsd_arm.go │ │ │ ├── zsyscall_netbsd_arm64.go │ │ │ ├── zsyscall_openbsd_386.go │ │ │ ├── zsyscall_openbsd_386.s │ │ │ ├── zsyscall_openbsd_amd64.go │ │ │ ├── zsyscall_openbsd_amd64.s │ │ │ ├── zsyscall_openbsd_arm.go │ │ │ ├── zsyscall_openbsd_arm.s │ │ │ ├── zsyscall_openbsd_arm64.go │ │ │ ├── zsyscall_openbsd_arm64.s │ │ │ ├── zsyscall_openbsd_mips64.go │ │ │ ├── zsyscall_openbsd_mips64.s │ │ │ ├── zsyscall_openbsd_ppc64.go │ │ │ ├── zsyscall_openbsd_ppc64.s │ │ │ ├── zsyscall_openbsd_riscv64.go │ │ │ ├── zsyscall_openbsd_riscv64.s │ │ │ ├── zsyscall_solaris_amd64.go │ │ │ ├── zsyscall_zos_s390x.go │ │ │ ├── zsysctl_openbsd_386.go │ │ │ ├── zsysctl_openbsd_amd64.go │ │ │ ├── zsysctl_openbsd_arm.go │ │ │ ├── zsysctl_openbsd_arm64.go │ │ │ ├── zsysctl_openbsd_mips64.go │ │ │ ├── zsysctl_openbsd_ppc64.go │ │ │ ├── zsysctl_openbsd_riscv64.go │ │ │ ├── zsysnum_darwin_amd64.go │ │ │ ├── zsysnum_darwin_arm64.go │ │ │ ├── zsysnum_dragonfly_amd64.go │ │ │ ├── zsysnum_freebsd_386.go │ │ │ ├── zsysnum_freebsd_amd64.go │ │ │ ├── zsysnum_freebsd_arm.go │ │ │ ├── zsysnum_freebsd_arm64.go │ │ │ ├── zsysnum_freebsd_riscv64.go │ │ │ ├── zsysnum_linux_386.go │ │ │ ├── zsysnum_linux_amd64.go │ │ │ ├── zsysnum_linux_arm.go │ │ │ ├── zsysnum_linux_arm64.go │ │ │ ├── zsysnum_linux_loong64.go │ │ │ ├── zsysnum_linux_mips.go │ │ │ ├── zsysnum_linux_mips64.go │ │ │ ├── zsysnum_linux_mips64le.go │ │ │ ├── zsysnum_linux_mipsle.go │ │ │ ├── zsysnum_linux_ppc.go │ │ │ ├── zsysnum_linux_ppc64.go │ │ │ ├── zsysnum_linux_ppc64le.go │ │ │ ├── zsysnum_linux_riscv64.go │ │ │ ├── zsysnum_linux_s390x.go │ │ │ ├── zsysnum_linux_sparc64.go │ │ │ ├── zsysnum_netbsd_386.go │ │ │ ├── zsysnum_netbsd_amd64.go │ │ │ ├── zsysnum_netbsd_arm.go │ │ │ ├── zsysnum_netbsd_arm64.go │ │ │ ├── zsysnum_openbsd_386.go │ │ │ ├── zsysnum_openbsd_amd64.go │ │ │ ├── zsysnum_openbsd_arm.go │ │ │ ├── zsysnum_openbsd_arm64.go │ │ │ ├── zsysnum_openbsd_mips64.go │ │ │ ├── zsysnum_openbsd_ppc64.go │ │ │ ├── zsysnum_openbsd_riscv64.go │ │ │ ├── zsysnum_zos_s390x.go │ │ │ ├── ztypes_aix_ppc.go │ │ │ ├── ztypes_aix_ppc64.go │ │ │ ├── ztypes_darwin_amd64.go │ │ │ ├── ztypes_darwin_arm64.go │ │ │ ├── ztypes_dragonfly_amd64.go │ │ │ ├── ztypes_freebsd_386.go │ │ │ ├── ztypes_freebsd_amd64.go │ │ │ ├── ztypes_freebsd_arm.go │ │ │ ├── ztypes_freebsd_arm64.go │ │ │ ├── ztypes_freebsd_riscv64.go │ │ │ ├── ztypes_linux.go │ │ │ ├── ztypes_linux_386.go │ │ │ ├── ztypes_linux_amd64.go │ │ │ ├── ztypes_linux_arm.go │ │ │ ├── ztypes_linux_arm64.go │ │ │ ├── ztypes_linux_loong64.go │ │ │ ├── ztypes_linux_mips.go │ │ │ ├── ztypes_linux_mips64.go │ │ │ ├── ztypes_linux_mips64le.go │ │ │ ├── ztypes_linux_mipsle.go │ │ │ ├── ztypes_linux_ppc.go │ │ │ ├── ztypes_linux_ppc64.go │ │ │ ├── ztypes_linux_ppc64le.go │ │ │ ├── ztypes_linux_riscv64.go │ │ │ ├── ztypes_linux_s390x.go │ │ │ ├── ztypes_linux_sparc64.go │ │ │ ├── ztypes_netbsd_386.go │ │ │ ├── ztypes_netbsd_amd64.go │ │ │ ├── ztypes_netbsd_arm.go │ │ │ ├── ztypes_netbsd_arm64.go │ │ │ ├── ztypes_openbsd_386.go │ │ │ ├── ztypes_openbsd_amd64.go │ │ │ ├── ztypes_openbsd_arm.go │ │ │ ├── ztypes_openbsd_arm64.go │ │ │ ├── ztypes_openbsd_mips64.go │ │ │ ├── ztypes_openbsd_ppc64.go │ │ │ ├── ztypes_openbsd_riscv64.go │ │ │ ├── ztypes_solaris_amd64.go │ │ │ └── ztypes_zos_s390x.go │ │ └── windows │ │ │ ├── aliases.go │ │ │ ├── dll_windows.go │ │ │ ├── env_windows.go │ │ │ ├── eventlog.go │ │ │ ├── exec_windows.go │ │ │ ├── memory_windows.go │ │ │ ├── mkerrors.bash │ │ │ ├── mkknownfolderids.bash │ │ │ ├── mksyscall.go │ │ │ ├── race.go │ │ │ ├── race0.go │ │ │ ├── security_windows.go │ │ │ ├── service.go │ │ │ ├── setupapi_windows.go │ │ │ ├── str.go │ │ │ ├── syscall.go │ │ │ ├── syscall_windows.go │ │ │ ├── types_windows.go │ │ │ ├── types_windows_386.go │ │ │ ├── types_windows_amd64.go │ │ │ ├── types_windows_arm.go │ │ │ ├── types_windows_arm64.go │ │ │ ├── zerrors_windows.go │ │ │ ├── zknownfolderids_windows.go │ │ │ └── zsyscall_windows.go │ │ ├── text │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── encoding │ │ │ ├── charmap │ │ │ │ ├── charmap.go │ │ │ │ └── tables.go │ │ │ ├── encoding.go │ │ │ ├── htmlindex │ │ │ │ ├── htmlindex.go │ │ │ │ ├── map.go │ │ │ │ └── tables.go │ │ │ ├── internal │ │ │ │ ├── identifier │ │ │ │ │ ├── identifier.go │ │ │ │ │ └── mib.go │ │ │ │ └── internal.go │ │ │ ├── japanese │ │ │ │ ├── all.go │ │ │ │ ├── eucjp.go │ │ │ │ ├── iso2022jp.go │ │ │ │ ├── shiftjis.go │ │ │ │ └── tables.go │ │ │ ├── korean │ │ │ │ ├── euckr.go │ │ │ │ └── tables.go │ │ │ ├── simplifiedchinese │ │ │ │ ├── all.go │ │ │ │ ├── gbk.go │ │ │ │ ├── hzgb2312.go │ │ │ │ └── tables.go │ │ │ ├── traditionalchinese │ │ │ │ ├── big5.go │ │ │ │ └── tables.go │ │ │ └── unicode │ │ │ │ ├── override.go │ │ │ │ └── unicode.go │ │ ├── internal │ │ │ ├── language │ │ │ │ ├── common.go │ │ │ │ ├── compact.go │ │ │ │ ├── compact │ │ │ │ │ ├── compact.go │ │ │ │ │ ├── language.go │ │ │ │ │ ├── parents.go │ │ │ │ │ ├── tables.go │ │ │ │ │ └── tags.go │ │ │ │ ├── compose.go │ │ │ │ ├── coverage.go │ │ │ │ ├── language.go │ │ │ │ ├── lookup.go │ │ │ │ ├── match.go │ │ │ │ ├── parse.go │ │ │ │ ├── tables.go │ │ │ │ └── tags.go │ │ │ ├── tag │ │ │ │ └── tag.go │ │ │ └── utf8internal │ │ │ │ └── utf8internal.go │ │ ├── language │ │ │ ├── coverage.go │ │ │ ├── doc.go │ │ │ ├── language.go │ │ │ ├── match.go │ │ │ ├── parse.go │ │ │ ├── tables.go │ │ │ └── tags.go │ │ ├── runes │ │ │ ├── cond.go │ │ │ └── runes.go │ │ └── transform │ │ │ └── transform.go │ │ └── tools │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── cover │ │ └── profile.go │ │ ├── go │ │ ├── ast │ │ │ ├── astutil │ │ │ │ ├── enclosing.go │ │ │ │ ├── imports.go │ │ │ │ ├── rewrite.go │ │ │ │ └── util.go │ │ │ └── inspector │ │ │ │ ├── inspector.go │ │ │ │ ├── iter.go │ │ │ │ ├── typeof.go │ │ │ │ └── walk.go │ │ ├── gcexportdata │ │ │ ├── gcexportdata.go │ │ │ └── importer.go │ │ ├── packages │ │ │ ├── doc.go │ │ │ ├── external.go │ │ │ ├── golist.go │ │ │ ├── golist_overlay.go │ │ │ ├── loadmode_string.go │ │ │ ├── packages.go │ │ │ └── visit.go │ │ └── types │ │ │ ├── objectpath │ │ │ └── objectpath.go │ │ │ └── typeutil │ │ │ ├── callee.go │ │ │ ├── imports.go │ │ │ ├── map.go │ │ │ ├── methodsetcache.go │ │ │ └── ui.go │ │ ├── imports │ │ └── forward.go │ │ └── internal │ │ ├── aliases │ │ ├── aliases.go │ │ └── aliases_go122.go │ │ ├── astutil │ │ └── edge │ │ │ └── edge.go │ │ ├── event │ │ ├── core │ │ │ ├── event.go │ │ │ ├── export.go │ │ │ └── fast.go │ │ ├── doc.go │ │ ├── event.go │ │ ├── keys │ │ │ ├── keys.go │ │ │ ├── standard.go │ │ │ └── util.go │ │ └── label │ │ │ └── label.go │ │ ├── gcimporter │ │ ├── bimport.go │ │ ├── exportdata.go │ │ ├── gcimporter.go │ │ ├── iexport.go │ │ ├── iimport.go │ │ ├── iimport_go122.go │ │ ├── predeclared.go │ │ ├── support.go │ │ └── ureader_yes.go │ │ ├── gocommand │ │ ├── invoke.go │ │ ├── invoke_notunix.go │ │ ├── invoke_unix.go │ │ ├── vendor.go │ │ └── version.go │ │ ├── gopathwalk │ │ └── walk.go │ │ ├── imports │ │ ├── fix.go │ │ ├── imports.go │ │ ├── mod.go │ │ ├── mod_cache.go │ │ ├── sortimports.go │ │ ├── source.go │ │ ├── source_env.go │ │ └── source_modindex.go │ │ ├── modindex │ │ ├── directories.go │ │ ├── index.go │ │ ├── lookup.go │ │ ├── modindex.go │ │ ├── symbols.go │ │ └── types.go │ │ ├── packagesinternal │ │ └── packages.go │ │ ├── pkgbits │ │ ├── codes.go │ │ ├── decoder.go │ │ ├── doc.go │ │ ├── encoder.go │ │ ├── flags.go │ │ ├── reloc.go │ │ ├── support.go │ │ ├── sync.go │ │ ├── syncmarker_string.go │ │ └── version.go │ │ ├── stdlib │ │ ├── deps.go │ │ ├── import.go │ │ ├── manifest.go │ │ └── stdlib.go │ │ ├── typeparams │ │ ├── common.go │ │ ├── coretype.go │ │ ├── free.go │ │ ├── normalize.go │ │ ├── termlist.go │ │ └── typeterm.go │ │ ├── typesinternal │ │ ├── classify_call.go │ │ ├── element.go │ │ ├── errorcode.go │ │ ├── errorcode_string.go │ │ ├── qualifier.go │ │ ├── recv.go │ │ ├── toonew.go │ │ ├── types.go │ │ ├── varkind.go │ │ └── zerovalue.go │ │ └── versions │ │ ├── features.go │ │ ├── gover.go │ │ ├── types.go │ │ └── versions.go │ ├── gopkg.in │ └── yaml.v3 │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── apic.go │ │ ├── decode.go │ │ ├── emitterc.go │ │ ├── encode.go │ │ ├── parserc.go │ │ ├── readerc.go │ │ ├── resolve.go │ │ ├── scannerc.go │ │ ├── sorter.go │ │ ├── writerc.go │ │ ├── yaml.go │ │ ├── yamlh.go │ │ └── yamlprivateh.go │ └── modules.txt └── version /.final_builds/jobs/bpm-test-agent/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 31ef5d2d788284f5873819e0263000a2afc637d2: 3 | version: 31ef5d2d788284f5873819e0263000a2afc637d2 4 | blobstore_id: 3d7f3267-2a31-49e3-739f-b0c40638576c 5 | sha1: 66df4f9f333dce1350e139322e9cc28211237bfb 6 | c844d762355cba06b284b9c1dddac0235993232b: 7 | version: c844d762355cba06b284b9c1dddac0235993232b 8 | blobstore_id: 133dab00-4b5b-4f2a-533b-f1046d5f8fb3 9 | sha1: 1b542279d102d5b98fcebcdc76957dd5baae3f1f 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.final_builds/jobs/test-errand/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 1ccf9ec7a47043218a7d080a5d674077bfc28529: 3 | version: 1ccf9ec7a47043218a7d080a5d674077bfc28529 4 | blobstore_id: 89839c01-e593-41c9-403e-58259fa6006a 5 | sha1: ff901be8452289d0590a36eb7823174ae8104c7f 6 | 4c6e1d3a1ca2e6ede0d582404f8b90d5a503748ad714ca5f84a87bbe6a6ae42a: 7 | version: 4c6e1d3a1ca2e6ede0d582404f8b90d5a503748ad714ca5f84a87bbe6a6ae42a 8 | blobstore_id: 0744e666-3363-4c66-4c84-f3845ffc4578 9 | sha1: sha256:1139a447f51a770d8b69b3520217101a7cc4cbd32370ba9dba676ef15230ff34 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.final_builds/license/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 0bdacfd75ea8fabb4e80e6d4763bfc511d3b2651: 3 | version: 0bdacfd75ea8fabb4e80e6d4763bfc511d3b2651 4 | blobstore_id: e25b6309-a844-4dd1-6ede-4a5693a4e53d 5 | sha1: 7d1901f806e5a227f0e61e367d953377b5fa90d4 6 | 39d18ab677b1df47f1d94aa01fbc63c16a34bbd9090c94282d8f3040a4c6cc4c: 7 | version: 39d18ab677b1df47f1d94aa01fbc63c16a34bbd9090c94282d8f3040a4c6cc4c 8 | blobstore_id: 743d75d8-4426-4c17-46e1-86cd0b27f4bd 9 | sha1: sha256:ff564ca72e714d99215f8a6984464eea52ecf9f5515607a469ec1da0ea655354 10 | befb46ffbc7ca827730652b347a6e3b9680a0cea: 11 | version: befb46ffbc7ca827730652b347a6e3b9680a0cea 12 | blobstore_id: aac27f7d-4bc0-40a4-7846-9966f6818e5c 13 | sha1: ea998cb438a38d7cc3b6016baa06e60ff5430427 14 | format-version: "2" 15 | -------------------------------------------------------------------------------- /.final_builds/packages/bpm-test-agent/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 50bedada3818c8389dcfc4bf61006e75c64c2612: 3 | version: 50bedada3818c8389dcfc4bf61006e75c64c2612 4 | blobstore_id: fe1d3c9c-73a7-4e14-5f52-2a72dfdf89f8 5 | sha1: d14845e9d5a4b68a7a4c56957ed289f497e141ad 6 | ef660e5ec9d9c0274441882781b3d5e9141d65e0: 7 | version: ef660e5ec9d9c0274441882781b3d5e9141d65e0 8 | blobstore_id: 04c925bb-a80a-4194-7934-9e15777a5084 9 | sha1: 90c0c147db3c8d81ad4eea31251e3a626f280afa 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.final_builds/packages/tini/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 3d7b02f3eeb480b9581bec4a0096dab9ebdfa4bc: 3 | version: 3d7b02f3eeb480b9581bec4a0096dab9ebdfa4bc 4 | blobstore_id: bbfac983-2750-44df-6827-f3c3ea7fe18d 5 | sha1: 3d16adbc5ed9bc46a46503cd4f12d883a28fa991 6 | bf4b98c300b214d8b83160db11b32f596da5bc236c22ae0c95fea75e7b3c4e05: 7 | version: bf4b98c300b214d8b83160db11b32f596da5bc236c22ae0c95fea75e7b3c4e05 8 | blobstore_id: 766a0c3d-7d3d-4a70-67a3-b1d735c49967 9 | sha1: sha256:81329ddef8babe27898c0ec3f34dcc6bfc65df82612b9e2206bb1c301540aeb4 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | updates: 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "daily" 8 | -------------------------------------------------------------------------------- /.github/workflows/go.yml: -------------------------------------------------------------------------------- 1 | name: go 2 | on: 3 | push: 4 | pull_request: 5 | jobs: 6 | lint: 7 | runs-on: [ubuntu-latest] 8 | steps: 9 | - uses: actions/checkout@v4 10 | - uses: actions/setup-go@v5 11 | with: 12 | go-version-file: src/bpm/go.mod 13 | - run: go generate ./... 14 | working-directory: src/bpm/ 15 | - uses: golangci/golangci-lint-action@v8 16 | with: 17 | working-directory: src/bpm/ 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea 3 | .blobs/ 4 | blobs/ 5 | .dev_builds/ 6 | /.vscode/ 7 | dev_releases/ 8 | config/dev.yml 9 | config/private.yml 10 | src_alt 11 | 12 | # Golang 13 | /bin/ 14 | /pkg/ 15 | 16 | # gosub and friends 17 | src/github.com/vito/gosub 18 | src/github.com/codegangsta/cli 19 | 20 | *.tgz 21 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | 3 | linters: 4 | default: standard 5 | 6 | settings: 7 | errcheck: 8 | check-blank: true # assignment to blank identifier: `_ := someFunc()`. 9 | 10 | formatters: 11 | enable: 12 | - goimports 13 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | sudo: required 3 | 4 | services: 5 | - docker 6 | 7 | script: 8 | - ./scripts/test-with-docker 9 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | bpm 2 | 3 | Copyright (c) 2017-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | -------------------------------------------------------------------------------- /ci/configure.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -euo pipefail 4 | 5 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" 6 | 7 | fly -t "${CONCOURSE_TARGET:-bosh}" set-pipeline \ 8 | -p bpm \ 9 | -c "${SCRIPT_DIR}/pipeline.yml" 10 | -------------------------------------------------------------------------------- /ci/tasks/bump-local-version: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # inputs 6 | BOSH_RELEASE_DIR=$PWD/bpm-release 7 | 8 | VERSION=$(cat ./version/version) 9 | if [ -z "$VERSION" ]; then 10 | echo "Version number not found in ./version/version" 11 | exit 1 12 | fi 13 | 14 | # outputs 15 | RELEASE_REPO="${PWD}/release-repo" 16 | 17 | # This is necessary in order to copy hidden files 18 | shopt -s dotglob 19 | cp -r "${BOSH_RELEASE_DIR}"/* "${RELEASE_REPO}" 20 | 21 | git config --global user.email "cf-bpm+final-releaser@pivotal.io" 22 | git config --global user.name "CF BPM" 23 | 24 | cd "${RELEASE_REPO}" 25 | echo -n "${VERSION}" > "${RELEASE_REPO}/src/version" 26 | if [[ ${DEV} == "true" ]]; then 27 | echo -n "+dev" >> "${RELEASE_REPO}/src/version" 28 | fi 29 | 30 | git add -A 31 | git commit -m "bumping version file to $(cat "${RELEASE_REPO}/src/version")" 32 | -------------------------------------------------------------------------------- /ci/tasks/bump-local-version.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | image_resource: 5 | type: registry-image 6 | source: 7 | repository: bosh/integration 8 | 9 | inputs: 10 | - name: bpm-release 11 | - name: version 12 | 13 | outputs: 14 | - name: release-repo 15 | 16 | params: 17 | DEV: ~ 18 | 19 | run: 20 | path: bpm-release/ci/tasks/bump-local-version 21 | -------------------------------------------------------------------------------- /ci/tasks/bump-runc-package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e #stops the execution if error 4 | 5 | task_dir=$PWD 6 | 7 | cd bpm-release 8 | 9 | pushd src/bpm 10 | runc_version_go_mod=$(go list -m -f '{{ .Version }}' github.com/opencontainers/runc | sed 's/v//') 11 | popd 12 | if ! $(grep -q -F "runc-${runc_version_go_mod}" config/blobs.yml); then 13 | curl -o $task_dir/runc_filename.tar.xz -L https://github.com/opencontainers/runc/releases/download/v${runc_version_go_mod}/runc.tar.xz 14 | runc_old_version=$(grep 'runc' config/blobs.yml | sed 's/.$//') 15 | bosh remove-blob $runc_old_version 16 | 17 | bosh add-blob $task_dir/runc_filename.tar.xz runc/runc-${runc_version_go_mod}.tar.xz 18 | echo "${BOSH_PRIVATE_CONFIG}" > config/private.yml 19 | 20 | bosh upload-blobs 21 | 22 | rm $task_dir/runc_filename.tar.xz 23 | fi 24 | 25 | if [ "$(git status --porcelain)" != "" ]; then 26 | git status 27 | git config --global user.email "$GIT_USER_EMAIL" 28 | git config --global user.name "$GIT_USER_NAME" 29 | git add . 30 | git commit -m "Update runc to ${runc_version_go_mod}" 31 | fi 32 | -------------------------------------------------------------------------------- /ci/tasks/bump-runc-package.yml: -------------------------------------------------------------------------------- 1 | platform: linux 2 | 3 | inputs: 4 | - name: bpm-release 5 | 6 | outputs: 7 | - name: bpm-release 8 | 9 | run: 10 | path: bpm-release/ci/tasks/bump-runc-package.sh 11 | 12 | params: 13 | BOSH_PRIVATE_CONFIG: 14 | GIT_USER_EMAIL: bots@cloudfoundry.org 15 | GIT_USER_NAME: CI Bot 16 | -------------------------------------------------------------------------------- /ci/tasks/test-acceptance.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | image_resource: 5 | type: registry-image 6 | source: 7 | repository: bosh/docker-cpi 8 | 9 | inputs: 10 | - name: bpm-release 11 | - name: bosh-stemcell 12 | 13 | params: 14 | STEMCELL_NAME: 15 | 16 | run: 17 | path: bpm-release/scripts/test-acceptance 18 | -------------------------------------------------------------------------------- /ci/tasks/test-unit.yml: -------------------------------------------------------------------------------- 1 | platform: linux 2 | 3 | image_resource: 4 | type: registry-image 5 | source: 6 | repository: cfbpm/bpm-ci 7 | tag: latest 8 | 9 | inputs: 10 | - name: bpm-release 11 | 12 | run: 13 | path: bpm-release/scripts/test-unit 14 | -------------------------------------------------------------------------------- /ci/tasks/test-upgrade.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | image_resource: 5 | type: registry-image 6 | source: 7 | repository: bosh/docker-cpi 8 | 9 | inputs: 10 | - name: bpm-release 11 | - name: bpm-bosh-io 12 | - name: bosh-stemcell 13 | 14 | params: 15 | STEMCELL_NAME: ubuntu-jammy 16 | 17 | run: 18 | path: bpm-release/scripts/test-upgrade 19 | -------------------------------------------------------------------------------- /config/blobs.yml: -------------------------------------------------------------------------------- 1 | gperf/gperf-3.1.tar.gz: 2 | size: 1215925 3 | object_id: b42dbbee-77cb-4fae-7be6-c6ba46e46ff0 4 | sha: sha256:588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2 5 | libseccomp/libseccomp-2.5.1.tar.gz: 6 | size: 638811 7 | object_id: 7778c273-fa7a-45b1-76b6-c2c1f907ce9e 8 | sha: sha256:ee307e383c77aa7995abc5ada544d51c9723ae399768a97667d4cdb3c3a30d55 9 | pkg-config/pkg-config-0.29.2.tar.gz: 10 | size: 2016830 11 | object_id: 68ebd5e6-b02b-49fb-4fd2-a594125b3808 12 | sha: 76e501663b29cb7580245720edfb6106164fad2b 13 | runc/runc-1.2.6.tar.xz: 14 | size: 1630276 15 | object_id: 7ecd5832-1797-4476-56a7-0d438d1f7fac 16 | sha: sha256:39695adb39b0284a4fc4b184d764772d886121bf30378f9614a3abfbdc5ff11a 17 | tini/tini-0.18.0.tar.gz: 18 | size: 32152 19 | object_id: 71944e0b-7d0e-411a-5600-1ea5eeb9f433 20 | sha: 27b7529ae87ea688e21d0a061b6d9299ff9362f6 21 | -------------------------------------------------------------------------------- /config/final.yml: -------------------------------------------------------------------------------- 1 | name: bpm 2 | blobstore: 3 | provider: gcs 4 | options: 5 | bucket_name: bpm-release-blobs 6 | -------------------------------------------------------------------------------- /docs/public_interface.md: -------------------------------------------------------------------------------- 1 | # Public Interface 2 | 3 | BPM 1.0 carries with it guarantees about breaking backwards compatibility with 4 | existing releases. However, not all of BPM is part of the public interface and 5 | therefore should not be depended upon. 6 | 7 | The following things you *can* depend on until BPM 2.0. If you see any of these 8 | change before them then please file an issue so that we can address it. 9 | 10 | * configuration file format 11 | 12 | * existing `bpm` commands and their flags 13 | 14 | * runtime environment (excluding bugs or security issues) 15 | 16 | * pidfile path 17 | 18 | * `bpm` executable path 19 | 20 | * `bpm` job name and release name 21 | 22 | * log file paths 23 | 24 | Even with these guarantees, all software is bound by [Hyrum's Law][hyrum]. If an 25 | internal change does break you then we can help you move to supported 26 | interfaces. 27 | 28 | [hyrum]: http://www.hyrumslaw.com/ 29 | -------------------------------------------------------------------------------- /docs/undefined.md: -------------------------------------------------------------------------------- 1 | # Undefined Things 2 | 3 | This is a list of behavior you may not rely on. Some of it may be defined 4 | eventually. This is not the most user friendly format for this data (it should 5 | be next to the documentation that it is related with) but it helps while 6 | developing it to see what we may need to make decisions on. 7 | 8 | * What happens to a process if it reaches its memory limit? 9 | 10 | * The content, format, or location of log files apart from their inclusion 11 | inside `/var/vcap/sys/log/[JOB]`. 12 | 13 | * Bind-mounted filesystems operations may not be atomic from within/without 14 | the container 15 | -------------------------------------------------------------------------------- /jobs/bpm/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/bpm-release/d4bc9d5065b8f00b699f32ba72d8685ffafc2dbd/jobs/bpm/monit -------------------------------------------------------------------------------- /jobs/bpm/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: bpm 3 | 4 | templates: 5 | bpm: bin/bpm 6 | setup.erb: bin/setup 7 | pre-start.erb: bin/pre-start 8 | 9 | packages: 10 | - bpm 11 | 12 | properties: {} 13 | -------------------------------------------------------------------------------- /jobs/bpm/templates/bpm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Setting ulimit due to changes in rlimit being inherited from 4 | # process that runs it. Monit hard limit on xenial/bionic 5 | # stecemlls are 4096 and is 524288 on jammy. 6 | # Refer to https://github.com/golang/go/issues/59064 for more info 7 | ulimit -n 524288 8 | 9 | /var/vcap/packages/bpm/bin/bpm "$@" 10 | -------------------------------------------------------------------------------- /jobs/bpm/templates/pre-start.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function pre_start() { 4 | echo "Starting bpm pre-start" 5 | mkdir -p /var/vcap/sys/log/bpm 6 | chown -R vcap:vcap /var/vcap/sys/log/bpm 7 | 8 | # ensure bpm/runc setup is executed upon logging in 9 | cp /var/vcap/jobs/bpm/bin/setup /etc/profile.d/bpm.sh 10 | chown :vcap /etc/profile.d/bpm.sh 11 | echo "Finished bpm pre-start" 12 | } 13 | 14 | pre_start | perl -pe 'use POSIX strftime; my $t = time; my $fsec = sprintf ".%09d", ($t-int($t))*1000000000; print strftime "[%Y-%m-%dT%H:%M:%S".$fsec."Z] ", localtime $t' 15 | -------------------------------------------------------------------------------- /jobs/bpm/templates/setup.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if ! echo $PATH | grep -q 'bpm'; then 4 | export PATH=/var/vcap/jobs/bpm/bin:$PATH 5 | fi 6 | -------------------------------------------------------------------------------- /jobs/test-errand/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/bpm-release/d4bc9d5065b8f00b699f32ba72d8685ffafc2dbd/jobs/test-errand/monit -------------------------------------------------------------------------------- /jobs/test-errand/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: test-errand 3 | 4 | templates: 5 | bpm.yml.erb: config/bpm.yml 6 | run.sh: bin/run 7 | 8 | packages: [] 9 | 10 | properties: {} 11 | -------------------------------------------------------------------------------- /jobs/test-errand/templates/bpm.yml.erb: -------------------------------------------------------------------------------- 1 | processes: 2 | - name: test-errand 3 | executable: /bin/echo 4 | args: 5 | - "hello" 6 | -------------------------------------------------------------------------------- /jobs/test-errand/templates/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /var/vcap/jobs/bpm/bin/bpm run test-errand 4 | -------------------------------------------------------------------------------- /jobs/test-server/monit: -------------------------------------------------------------------------------- 1 | check process test-server 2 | with pidfile /var/vcap/sys/run/bpm/test-server/test-server.pid 3 | start program "/var/vcap/jobs/bpm/bin/bpm start test-server" 4 | stop program "/var/vcap/jobs/bpm/bin/bpm stop test-server" 5 | group vcap 6 | 7 | check process alt-test-server 8 | with pidfile /var/vcap/sys/run/bpm/test-server/alt-test-server.pid 9 | start program "/var/vcap/jobs/bpm/bin/bpm start test-server -p alt-test-server" 10 | stop program "/var/vcap/jobs/bpm/bin/bpm stop test-server -p alt-test-server" 11 | group vcap 12 | -------------------------------------------------------------------------------- /jobs/test-server/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: test-server 3 | 4 | templates: 5 | bpm.yml.erb: config/bpm.yml 6 | 7 | packages: 8 | - test-server 9 | 10 | properties: {} 11 | -------------------------------------------------------------------------------- /jobs/test-server/templates/bpm.yml.erb: -------------------------------------------------------------------------------- 1 | processes: 2 | - name: test-server 3 | executable: /var/vcap/packages/test-server/bin/test-server 4 | args: 5 | - --port 6 | - 1337 7 | env: 8 | BPM: SWEET 9 | limits: 10 | memory: 1G 11 | open_files: 1024 12 | ephemeral_disk: true 13 | persistent_disk: true 14 | additional_volumes: 15 | - path: /var/vcap/data/shared 16 | unsafe: 17 | unrestricted_volumes: 18 | - path: /dev/log 19 | 20 | - name: alt-test-server 21 | executable: /var/vcap/packages/test-server/bin/test-server 22 | args: 23 | - --port 24 | - 1338 25 | - --ignore-signals 26 | env: 27 | BPM: CONTAINED 28 | -------------------------------------------------------------------------------- /manifests/bbl.yml: -------------------------------------------------------------------------------- 1 | # This manifest can be used to deploy the bpm BOSH release to a BBL director. 2 | # It has dependencies on the cloud-config provided by BBL (2/15/19). 3 | 4 | name: bpm 5 | 6 | releases: 7 | - name: bpm 8 | version: latest 9 | 10 | stemcells: 11 | - alias: default 12 | os: ubuntu-xenial 13 | version: latest 14 | 15 | update: 16 | canaries: 1 17 | canary_watch_time: 5000-60000 18 | max_in_flight: 1 19 | serial: false 20 | update_watch_time: 5000-60000 21 | 22 | jobs: 23 | - name: bpm 24 | instances: 1 25 | persistent_disk: 1024 26 | vm_type: default 27 | stemcell: default 28 | azs: 29 | - z1 30 | networks: 31 | - name: default 32 | templates: 33 | - name: bpm 34 | release: bpm 35 | - name: test-server 36 | release: bpm 37 | - name: test-errand 38 | release: bpm 39 | -------------------------------------------------------------------------------- /manifests/bosh-lite-ci.yml: -------------------------------------------------------------------------------- 1 | name: bpm 2 | 3 | instance_groups: 4 | - name: bpm 5 | azs: [z1,z2,z3] 6 | instances: 1 7 | jobs: 8 | - name: bpm 9 | release: bpm 10 | - name: test-server 11 | release: bpm 12 | vm_type: default 13 | stemcell: default 14 | persistent_disk: 1024 15 | networks: 16 | - name: default 17 | 18 | releases: 19 | - name: bpm 20 | version: latest 21 | 22 | update: 23 | canaries: 1 24 | canary_watch_time: 5000-120000 25 | max_in_flight: 1 26 | serial: false 27 | update_watch_time: 5000-120000 28 | 29 | stemcells: 30 | - alias: default 31 | os: ((stemcell_name)) 32 | version: latest 33 | -------------------------------------------------------------------------------- /manifests/bosh-lite.yml: -------------------------------------------------------------------------------- 1 | name: bpm 2 | 3 | releases: 4 | - name: bpm 5 | version: latest 6 | 7 | instance_groups: 8 | - name: bpm 9 | instances: 1 10 | azs: [z1, z2, z3] 11 | vm_type: default 12 | stemcell: default 13 | persistent_disk: 1024 14 | networks: 15 | - name: default 16 | jobs: 17 | - name: bpm 18 | release: bpm 19 | - name: test-server 20 | release: bpm 21 | - name: test-errand 22 | release: bpm 23 | 24 | stemcells: 25 | - alias: default 26 | os: ubuntu-jammy 27 | version: latest 28 | 29 | update: 30 | canaries: 1 31 | canary_watch_time: 5000-120000 32 | max_in_flight: 1 33 | serial: false 34 | update_watch_time: 5000-120000 35 | -------------------------------------------------------------------------------- /packages/bpm-runc/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: bpm-runc 3 | 4 | dependencies: 5 | - golang-1-linux 6 | 7 | files: 8 | - runc/runc-*.tar.xz 9 | - pkg-config/pkg-config-0.29.2.tar.gz 10 | - libseccomp/libseccomp-2.5.1.tar.gz 11 | - gperf/gperf-3.1.tar.gz 12 | -------------------------------------------------------------------------------- /packages/bpm/packaging: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | source /var/vcap/packages/golang-1-linux/bosh/compile.env 4 | 5 | export CGO_ENABLED=0 6 | export GOPATH=${BOSH_INSTALL_TARGET} 7 | export GOPROXY=off 8 | 9 | version="$(cat version)" 10 | 11 | pushd "bpm/cmd/bpm" 12 | go build -mod=vendor -ldflags "-X bpm/commands.Version=${version}" -o ${BOSH_INSTALL_TARGET}/bin/ . 13 | popd 14 | 15 | # runc 16 | cp /var/vcap/packages/bpm-runc/bin/runc ${BOSH_INSTALL_TARGET}/bin 17 | cp -r /var/vcap/packages/bpm-runc/lib ${BOSH_INSTALL_TARGET}/lib 18 | 19 | # tini 20 | cp /var/vcap/packages/tini/bin/tini ${BOSH_INSTALL_TARGET}/bin 21 | -------------------------------------------------------------------------------- /packages/bpm/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: bpm 3 | 4 | dependencies: 5 | - golang-1-linux 6 | - bpm-runc 7 | - tini 8 | 9 | files: 10 | - version 11 | - bpm/go.mod 12 | - bpm/go.sum 13 | - bpm/vendor/modules.txt 14 | - bpm/**/*.go 15 | - bpm/**/*.s 16 | -------------------------------------------------------------------------------- /packages/golang-1-linux/spec.lock: -------------------------------------------------------------------------------- 1 | name: golang-1-linux 2 | fingerprint: e75c69bba41945ce0ae901b68cdcb641b624f373fb0f63f282acc8d138ca27d2 3 | -------------------------------------------------------------------------------- /packages/test-server/packaging: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | source /var/vcap/packages/golang-1-linux/bosh/compile.env 4 | export CGO_ENABLED=0 5 | 6 | pushd bpm/acceptance/fixtures/test-server 7 | go build -mod=vendor -o ${BOSH_INSTALL_TARGET}/bin/test-server . 8 | popd 9 | 10 | -------------------------------------------------------------------------------- /packages/test-server/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: test-server 3 | 4 | dependencies: 5 | - golang-1-linux 6 | 7 | files: 8 | - version 9 | - bpm/go.mod 10 | - bpm/go.sum 11 | - bpm/vendor/modules.txt 12 | - bpm/**/*.go 13 | - bpm/**/*.s -------------------------------------------------------------------------------- /packages/tini/packaging: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | TINI_VERSION=0.18.0 4 | 5 | tar xvzf "tini/tini-${TINI_VERSION}.tar.gz" 6 | pushd "tini-${TINI_VERSION}" 7 | export CFLAGS="-DPR_SET_CHILD_SUBREAPER=36 -DPR_GET_CHILD_SUBREAPER=37" 8 | cmake . 9 | make 10 | 11 | mkdir -p "${BOSH_INSTALL_TARGET}/bin" 12 | mv tini "${BOSH_INSTALL_TARGET}/bin" 13 | popd 14 | -------------------------------------------------------------------------------- /packages/tini/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: tini 3 | 4 | dependencies: [] 5 | 6 | files: 7 | - tini/tini-0.18.0.tar.gz 8 | -------------------------------------------------------------------------------- /runc_filename.tar.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/bpm-release/d4bc9d5065b8f00b699f32ba72d8685ffafc2dbd/runc_filename.tar.xz -------------------------------------------------------------------------------- /scripts/go-generate: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | RELEASE_PATH="$(cd "$(dirname "$0")/.." && pwd)" 5 | export RELEASE_PATH 6 | 7 | pushd "${RELEASE_PATH}/src/bpm" > /dev/null 8 | go generate ./... 9 | popd 10 | -------------------------------------------------------------------------------- /scripts/run-acceptance-specs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | set -x 5 | 6 | RELEASE_PATH="$(cd "$(dirname "$0")/.." && pwd)" 7 | export RELEASE_PATH 8 | 9 | bosh deploy \ 10 | "${RELEASE_PATH}/manifests/bosh-lite-ci.yml" \ 11 | -v "stemcell_name=${STEMCELL_NAME}" 12 | 13 | AGENT_HOST="$(bosh -d bpm instances | grep running | awk '{ print $4 }')" 14 | agent_port=1337 15 | 16 | "${RELEASE_PATH}/scripts/go-generate" 17 | 18 | pushd "${RELEASE_PATH}/src/bpm/acceptance" > /dev/null 19 | go run github.com/onsi/ginkgo/v2/ginkgo -r -p --race --randomize-all -- --agent-uri="http://${AGENT_HOST}:${agent_port}" 20 | popd > /dev/null 21 | -------------------------------------------------------------------------------- /scripts/start-docker: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | RELEASE_PATH="$(cd "$(dirname "$0")/.." && pwd)" 5 | export RELEASE_PATH 6 | 7 | # The Docker CLI does not need to be run as root in order to be safe in all 8 | # cases. For example, when running on MacOS it is quarantined to a different 9 | # virtual machine. If you are running daemon on a local machine then practice 10 | # caution with sudo-less docker invocations. 11 | if ! docker info 2>&1 | grep -q "permission denied"; then 12 | DOCKER="docker" 13 | else 14 | # On development workstations docker must run as root. 15 | # These settings are not related to the privileges that bpm creates runc containers with. 16 | DOCKER="sudo docker" 17 | fi 18 | 19 | $DOCKER pull cfbpm/bpm-ci:latest 20 | $DOCKER run \ 21 | --privileged \ 22 | -v "${RELEASE_PATH}:/bpm" \ 23 | -it cfbpm/bpm-ci:latest \ 24 | "${@:-/bin/bash}" 25 | -------------------------------------------------------------------------------- /scripts/test-acceptance: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | set -x 5 | 6 | RELEASE_PATH="$(cd "$(dirname "$0")/.." && pwd)" 7 | export RELEASE_PATH 8 | 9 | . start-bosh 10 | 11 | source /tmp/local-bosh/director/env 12 | 13 | export BOSH_DEPLOYMENT=bpm 14 | export BOSH_NON_INTERACTIVE=true 15 | 16 | bosh upload-stemcell bosh-stemcell/*.tgz 17 | 18 | bosh create-release --dir "${RELEASE_PATH}/" 19 | bosh upload-release --dir "${RELEASE_PATH}/" 20 | 21 | "${RELEASE_PATH}/scripts/run-acceptance-specs" 22 | -------------------------------------------------------------------------------- /scripts/test-unit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | RELEASE_PATH="$(cd "$(dirname "$0")/.." && pwd)" 5 | export RELEASE_PATH 6 | 7 | "${RELEASE_PATH}/scripts/go-generate" 8 | 9 | pushd "${RELEASE_PATH}/src/bpm" > /dev/null 10 | go run github.com/onsi/ginkgo/v2/ginkgo -r -p --race --randomize-all --skip-package "acceptance" "$@" 11 | popd 12 | -------------------------------------------------------------------------------- /scripts/test-upgrade: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | set -x 5 | 6 | RELEASE_PATH="$(cd "$(dirname "$0")/.." && pwd)" 7 | export RELEASE_PATH 8 | 9 | . start-bosh 10 | 11 | source /tmp/local-bosh/director/env 12 | 13 | export BOSH_DEPLOYMENT=bpm 14 | export BOSH_NON_INTERACTIVE=true 15 | 16 | bosh upload-stemcell bosh-stemcell/*.tgz 17 | 18 | echo "Deploying latest final version of bpm" 19 | bosh upload-release bpm-bosh-io/*.tgz 20 | bosh deploy \ 21 | "${RELEASE_PATH}/manifests/bosh-lite-ci.yml" \ 22 | -v "stemcell_name=${STEMCELL_NAME}" 23 | 24 | echo "Deploying latest dev version of bpm" 25 | bosh create-release --dir "${RELEASE_PATH}/" --timestamp-version 26 | bosh upload-release --dir "${RELEASE_PATH}/" 27 | 28 | "${RELEASE_PATH}/scripts/run-acceptance-specs" 29 | -------------------------------------------------------------------------------- /scripts/test-with-concourse: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | RELEASE_PATH="$(cd "$(dirname "$0")/.." && pwd)" 5 | export RELEASE_PATH 6 | 7 | FLY_TARGET=${FLY_TARGET:-ci} 8 | 9 | fly -t "${FLY_TARGET}" execute -p -c "${RELEASE_PATH}/ci/test-unit.yml" "$@" 10 | -------------------------------------------------------------------------------- /scripts/test-with-docker: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | RELEASE_PATH="$(cd "$(dirname "$0")/.." && pwd)" 5 | export RELEASE_PATH 6 | 7 | "${RELEASE_PATH}/scripts/start-docker" /bpm/scripts/test-unit 8 | -------------------------------------------------------------------------------- /src/bpm/.gitignore: -------------------------------------------------------------------------------- 1 | runc/lifecycle/lifecyclefakes/fake* 2 | -------------------------------------------------------------------------------- /src/bpm/acceptance/.gitignore: -------------------------------------------------------------------------------- 1 | fixtures/bpm-test-agent/bpm-test-agent 2 | -------------------------------------------------------------------------------- /src/bpm/acceptance/fixtures/test-server/.gitignore: -------------------------------------------------------------------------------- 1 | crucible-test-agent 2 | -------------------------------------------------------------------------------- /src/bpm/acceptance/fixtures/test-server/handlers/hello.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package handlers 17 | 18 | import ( 19 | "fmt" 20 | "net/http" 21 | "os" 22 | ) 23 | 24 | func Hello(w http.ResponseWriter, r *http.Request) { 25 | fmt.Fprintf(w, "BPM is %s!\n", os.Getenv("BPM")) //nolint:errcheck 26 | } 27 | -------------------------------------------------------------------------------- /src/bpm/bosh/bosh_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package bosh_test 17 | 18 | import ( 19 | "testing" 20 | 21 | . "github.com/onsi/ginkgo/v2" 22 | . "github.com/onsi/gomega" 23 | ) 24 | 25 | func TestBosh(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Bosh Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/cgroups/cgroups_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2018-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package cgroups 17 | 18 | import ( 19 | "testing" 20 | 21 | . "github.com/onsi/ginkgo/v2" 22 | . "github.com/onsi/gomega" 23 | ) 24 | 25 | func TestCgroups(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Cgroups Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/config/config_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package config_test 17 | 18 | import ( 19 | . "github.com/onsi/ginkgo/v2" 20 | . "github.com/onsi/gomega" 21 | 22 | "testing" 23 | ) 24 | 25 | func TestConfig(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Config Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/config/testdata/example-invalid.yml: -------------------------------------------------------------------------------- 1 | --- 2 | processes: 3 | - name: example 4 | args: 5 | - --port=2424 6 | - --host="localhost" 7 | env: 8 | FOO: BAR 9 | BAZ: BUZZ 10 | -------------------------------------------------------------------------------- /src/bpm/flock/flock_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package flock_test 17 | 18 | import ( 19 | "testing" 20 | 21 | . "github.com/onsi/ginkgo/v2" 22 | . "github.com/onsi/gomega" 23 | ) 24 | 25 | func TestFlock(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Flock Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/hostlock/hostlock_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package hostlock_test 17 | 18 | import ( 19 | "testing" 20 | 21 | . "github.com/onsi/ginkgo/v2" 22 | . "github.com/onsi/gomega" 23 | ) 24 | 25 | func TestHostlock(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Hostlock Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/integration/testdata/env-flag.yml: -------------------------------------------------------------------------------- 1 | --- 2 | processes: 3 | - name: errand 4 | executable: /bin/bash 5 | args: 6 | - -c 7 | - "echo $ENVKEY" 8 | -------------------------------------------------------------------------------- /src/bpm/integration/testdata/errand.yml: -------------------------------------------------------------------------------- 1 | processes: 2 | - name: errand 3 | executable: /bin/bash 4 | args: 5 | - -c 6 | - "echo stdout; echo stderr >&2" 7 | -------------------------------------------------------------------------------- /src/bpm/integration/testdata/failure.yml: -------------------------------------------------------------------------------- 1 | processes: 2 | - name: oops 3 | executable: /bin/false 4 | -------------------------------------------------------------------------------- /src/bpm/integration/testdata/odd-status.yml: -------------------------------------------------------------------------------- 1 | processes: 2 | - name: odd 3 | executable: /bin/bash 4 | args: 5 | - -e 6 | - -c 7 | - "exit 6" 8 | -------------------------------------------------------------------------------- /src/bpm/integration/testdata/volume-flag.yml: -------------------------------------------------------------------------------- 1 | --- 2 | processes: 3 | - name: errand 4 | executable: /bin/bash 5 | args: 6 | - -c 7 | - "cat /proc/mounts | grep extra-volume; echo success > $FILE_TO_WRITE_TO" 8 | -------------------------------------------------------------------------------- /src/bpm/jobid/jobid_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package jobid_test 17 | 18 | import ( 19 | "testing" 20 | 21 | . "github.com/onsi/ginkgo/v2" 22 | . "github.com/onsi/gomega" 23 | ) 24 | 25 | func TestJobID(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Job ID Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/presenters/presenters_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package presenters_test 17 | 18 | import ( 19 | . "github.com/onsi/ginkgo/v2" 20 | . "github.com/onsi/gomega" 21 | 22 | "testing" 23 | ) 24 | 25 | func TestPresenters(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Presenters Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/runc/adapter/adapter_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package adapter 17 | 18 | import ( 19 | . "github.com/onsi/ginkgo/v2" 20 | . "github.com/onsi/gomega" 21 | 22 | "testing" 23 | ) 24 | 25 | func TestAdapter(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Adapter Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/runc/client/client_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package client_test 17 | 18 | import ( 19 | "testing" 20 | 21 | . "github.com/onsi/ginkgo/v2" 22 | . "github.com/onsi/gomega" 23 | ) 24 | 25 | func TestClient(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Client Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/runc/lifecycle/.gitignore: -------------------------------------------------------------------------------- 1 | mock_lifecycle/mocks.go 2 | -------------------------------------------------------------------------------- /src/bpm/runc/lifecycle/lifecycle_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package lifecycle_test 17 | 18 | import ( 19 | . "github.com/onsi/ginkgo/v2" 20 | . "github.com/onsi/gomega" 21 | 22 | "testing" 23 | ) 24 | 25 | func TestLifecycle(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Lifecycle Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/tools/tools.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | //go:build tools 17 | // +build tools 18 | 19 | package tools 20 | 21 | import ( 22 | _ "github.com/onsi/ginkgo/v2/ginkgo" 23 | _ "go.uber.org/mock/mockgen" 24 | ) 25 | -------------------------------------------------------------------------------- /src/bpm/usertools/usertools_suite_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017-Present CloudFoundry.org Foundation, Inc. All rights reserved. 2 | // 3 | // This program and the accompanying materials are made available under 4 | // the terms of the under the Apache License, Version 2.0 (the "License”); 5 | // you may not use this file except in compliance with the License. 6 | // 7 | // You may obtain a copy of the License at 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | // License for the specific language governing permissions and limitations 14 | // under the License. 15 | 16 | package usertools_test 17 | 18 | import ( 19 | "testing" 20 | 21 | . "github.com/onsi/ginkgo/v2" 22 | . "github.com/onsi/gomega" 23 | ) 24 | 25 | func TestUsertools(t *testing.T) { 26 | RegisterFailHandler(Fail) 27 | RunSpecs(t, "Usertools Suite") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/bytefmt/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @cloudfoundry/wg-app-runtime-platform-diego-approvers 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/bytefmt/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. 2 | 3 | This project contains software that is Copyright (c) 2013-2015 Pivotal Software, Inc. 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | 17 | This project may include a number of subcomponents with separate 18 | copyright notices and license terms. Your use of these subcomponents 19 | is subject to the terms and conditions of each subcomponent's license, 20 | as noted in the LICENSE file. 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/bytefmt/package.go: -------------------------------------------------------------------------------- 1 | package bytefmt // import "code.cloudfoundry.org/bytefmt" 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/bytefmt/staticcheck.conf: -------------------------------------------------------------------------------- 1 | checks = ["all", "-ST1008","-ST1005","-ST1001","-ST1012","-ST1000","-ST1003","-ST1016","-ST1020","-ST1021","-ST1022"] 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/clock/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @cloudfoundry/wg-app-runtime-platform-diego-approvers 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/clock/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. 2 | 3 | This project contains software that is Copyright (c) 2015 Pivotal Software, Inc. 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | 17 | This project may include a number of subcomponents with separate 18 | copyright notices and license terms. Your use of these subcomponents 19 | is subject to the terms and conditions of each subcomponent's license, 20 | as noted in the LICENSE file. 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/clock/fakeclock/fake_ticker.go: -------------------------------------------------------------------------------- 1 | package fakeclock 2 | 3 | import ( 4 | "time" 5 | 6 | "code.cloudfoundry.org/clock" 7 | ) 8 | 9 | type fakeTicker struct { 10 | timer clock.Timer 11 | } 12 | 13 | func newFakeTicker(timer *fakeTimer) *fakeTicker { 14 | return &fakeTicker{ 15 | timer: timer, 16 | } 17 | } 18 | 19 | func (ft *fakeTicker) C() <-chan time.Time { 20 | return ft.timer.C() 21 | } 22 | 23 | func (ft *fakeTicker) Stop() { 24 | ft.timer.Stop() 25 | } 26 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/clock/fakeclock/package.go: -------------------------------------------------------------------------------- 1 | package fakeclock // import "code.cloudfoundry.org/clock/fakeclock" 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/clock/package.go: -------------------------------------------------------------------------------- 1 | package clock // import "code.cloudfoundry.org/clock" 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/clock/ticker.go: -------------------------------------------------------------------------------- 1 | package clock 2 | 3 | import "time" 4 | 5 | type Ticker interface { 6 | C() <-chan time.Time 7 | Stop() 8 | } 9 | 10 | type realTicker struct { 11 | t *time.Ticker 12 | } 13 | 14 | func (t *realTicker) C() <-chan time.Time { 15 | return t.t.C 16 | } 17 | 18 | func (t *realTicker) Stop() { 19 | t.t.Stop() 20 | } 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/clock/timer.go: -------------------------------------------------------------------------------- 1 | package clock 2 | 3 | import "time" 4 | 5 | type Timer interface { 6 | C() <-chan time.Time 7 | Reset(d time.Duration) bool 8 | Stop() bool 9 | } 10 | 11 | type realTimer struct { 12 | t *time.Timer 13 | } 14 | 15 | func (t *realTimer) C() <-chan time.Time { 16 | return t.t.C 17 | } 18 | 19 | func (t *realTimer) Reset(d time.Duration) bool { 20 | return t.t.Reset(d) 21 | } 22 | 23 | func (t *realTimer) Stop() bool { 24 | return t.t.Stop() 25 | } 26 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/lager/v3/.gitignore: -------------------------------------------------------------------------------- 1 | # Builds 2 | bin 3 | 4 | # Binaries for programs and plugins 5 | *.exe 6 | *.exe~ 7 | *.dll 8 | *.so 9 | *.dylib 10 | 11 | # IntelliJ 12 | .idea 13 | 14 | # Dependencies 15 | vendor 16 | 17 | # macOS 18 | .DS_Store 19 | 20 | # Vim files 21 | [._]*.s[a-v][a-z] 22 | !*.svg # comment out if you don't need vector files 23 | [._]*.sw[a-p] 24 | [._]s[a-rt-v][a-z] 25 | [._]ss[a-gi-z] 26 | [._]sw[a-p] 27 | Session.vim 28 | Sessionx.vim 29 | .netrwhist 30 | *~ 31 | tags 32 | [._]*.un~ 33 | 34 | # Test binary, built with `go test -c` 35 | *.test 36 | 37 | # Output of the go coverage tool, specifically when used with LiteIDE 38 | *.out 39 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/lager/v3/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @cloudfoundry/wg-app-runtime-platform-diego-approvers 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/lager/v3/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. 2 | 3 | This project contains software that is Copyright (c) 2014-2015 Pivotal Software, Inc. 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | 17 | This project may include a number of subcomponents with separate 18 | copyright notices and license terms. Your use of these subcomponents 19 | is subject to the terms and conditions of each subcomponent's license, 20 | as noted in the LICENSE file. 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/lager/v3/internal/truncate/package.go: -------------------------------------------------------------------------------- 1 | package truncate // import "code.cloudfoundry.org/lager/v3/internal/truncate" 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/lager/v3/reconfigurable_sink.go: -------------------------------------------------------------------------------- 1 | package lager 2 | 3 | import ( 4 | "sync/atomic" 5 | ) 6 | 7 | type ReconfigurableSink struct { 8 | sink Sink 9 | 10 | minLogLevel int32 11 | } 12 | 13 | func NewReconfigurableSink(sink Sink, initialMinLogLevel LogLevel) *ReconfigurableSink { 14 | return &ReconfigurableSink{ 15 | sink: sink, 16 | 17 | minLogLevel: int32(initialMinLogLevel), 18 | } 19 | } 20 | 21 | func (sink *ReconfigurableSink) Log(log LogFormat) { 22 | minLogLevel := LogLevel(atomic.LoadInt32(&sink.minLogLevel)) 23 | 24 | if log.LogLevel < minLogLevel { 25 | return 26 | } 27 | 28 | sink.sink.Log(log) 29 | } 30 | 31 | func (sink *ReconfigurableSink) SetMinLevel(level LogLevel) { 32 | atomic.StoreInt32(&sink.minLogLevel, int32(level)) 33 | } 34 | 35 | func (sink *ReconfigurableSink) GetMinLevel() LogLevel { 36 | return LogLevel(atomic.LoadInt32(&sink.minLogLevel)) 37 | } 38 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/lager/v3/tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | // +build tools 3 | 4 | package lager 5 | 6 | import ( 7 | _ "github.com/onsi/ginkgo/v2/ginkgo" 8 | ) 9 | -------------------------------------------------------------------------------- /src/bpm/vendor/code.cloudfoundry.org/lager/v3/truncating_sink.go: -------------------------------------------------------------------------------- 1 | package lager 2 | 3 | import "code.cloudfoundry.org/lager/v3/internal/truncate" 4 | 5 | type truncatingSink struct { 6 | sink Sink 7 | maxDataStringLength int 8 | } 9 | 10 | // NewTruncatingSink returns a sink that truncates strings longer than the max 11 | // data string length 12 | // Example: 13 | // 14 | // writerSink := lager.NewWriterSink(os.Stdout, lager.INFO) 15 | // sink := lager.NewTruncatingSink(testSink, 20) 16 | // logger := lager.NewLogger("test") 17 | // logger.RegisterSink(sink) 18 | // logger.Info("message", lager.Data{"A": strings.Repeat("a", 25)}) 19 | func NewTruncatingSink(sink Sink, maxDataStringLength int) Sink { 20 | return &truncatingSink{ 21 | sink: sink, 22 | maxDataStringLength: maxDataStringLength, 23 | } 24 | } 25 | 26 | func (sink *truncatingSink) Log(log LogFormat) { 27 | truncatedData := Data{} 28 | for k, v := range log.Data { 29 | truncatedData[k] = truncate.Value(v, sink.maxDataStringLength) 30 | } 31 | log.Data = truncatedData 32 | sink.sink.Log(log) 33 | } 34 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/coreos/go-systemd/v22/NOTICE: -------------------------------------------------------------------------------- 1 | CoreOS Project 2 | Copyright 2018 CoreOS, Inc 3 | 4 | This product includes software developed at CoreOS, Inc. 5 | (http://www.coreos.com/). 6 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/.gitignore: -------------------------------------------------------------------------------- 1 | [568].out 2 | _go* 3 | _test* 4 | _obj 5 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/Dockerfile.riscv: -------------------------------------------------------------------------------- 1 | FROM golang:1.12 2 | 3 | # Clone and complie a riscv compatible version of the go compiler. 4 | RUN git clone https://review.gerrithub.io/riscv/riscv-go /riscv-go 5 | # riscvdev branch HEAD as of 2019-06-29. 6 | RUN cd /riscv-go && git checkout 04885fddd096d09d4450726064d06dd107e374bf 7 | ENV PATH=/riscv-go/misc/riscv:/riscv-go/bin:$PATH 8 | RUN cd /riscv-go/src && GOROOT_BOOTSTRAP=$(go env GOROOT) ./make.bash 9 | ENV GOROOT=/riscv-go 10 | 11 | # Make sure we compile. 12 | WORKDIR pty 13 | ADD . . 14 | RUN GOOS=linux GOARCH=riscv go build 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/doc.go: -------------------------------------------------------------------------------- 1 | // Package pty provides functions for working with Unix terminals. 2 | package pty 3 | 4 | import ( 5 | "errors" 6 | "os" 7 | ) 8 | 9 | // ErrUnsupported is returned if a function is not 10 | // available on the current platform. 11 | var ErrUnsupported = errors.New("unsupported") 12 | 13 | // Opens a pty and its corresponding tty. 14 | func Open() (pty, tty *os.File, err error) { 15 | return open() 16 | } 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ioctl.go: -------------------------------------------------------------------------------- 1 | // +build !windows,!solaris 2 | 3 | package pty 4 | 5 | import "syscall" 6 | 7 | func ioctl(fd, cmd, ptr uintptr) error { 8 | _, _, e := syscall.Syscall(syscall.SYS_IOCTL, fd, cmd, ptr) 9 | if e != 0 { 10 | return e 11 | } 12 | return nil 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ioctl_solaris.go: -------------------------------------------------------------------------------- 1 | package pty 2 | 3 | import ( 4 | "golang.org/x/sys/unix" 5 | "unsafe" 6 | ) 7 | 8 | const ( 9 | // see /usr/include/sys/stropts.h 10 | I_PUSH = uintptr((int32('S')<<8 | 002)) 11 | I_STR = uintptr((int32('S')<<8 | 010)) 12 | I_FIND = uintptr((int32('S')<<8 | 013)) 13 | // see /usr/include/sys/ptms.h 14 | ISPTM = (int32('P') << 8) | 1 15 | UNLKPT = (int32('P') << 8) | 2 16 | PTSSTTY = (int32('P') << 8) | 3 17 | ZONEPT = (int32('P') << 8) | 4 18 | OWNERPT = (int32('P') << 8) | 5 19 | ) 20 | 21 | type strioctl struct { 22 | ic_cmd int32 23 | ic_timout int32 24 | ic_len int32 25 | ic_dp unsafe.Pointer 26 | } 27 | 28 | func ioctl(fd, cmd, ptr uintptr) error { 29 | return unix.IoctlSetInt(int(fd), uint(cmd), int(ptr)) 30 | } 31 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/mktypes.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | GOOSARCH="${GOOS}_${GOARCH}" 4 | case "$GOOSARCH" in 5 | _* | *_ | _) 6 | echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 7 | exit 1 8 | ;; 9 | esac 10 | 11 | GODEFS="go tool cgo -godefs" 12 | 13 | $GODEFS types.go |gofmt > ztypes_$GOARCH.go 14 | 15 | case $GOOS in 16 | freebsd|dragonfly|openbsd) 17 | $GODEFS types_$GOOS.go |gofmt > ztypes_$GOOSARCH.go 18 | ;; 19 | esac 20 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/pty_openbsd.go: -------------------------------------------------------------------------------- 1 | package pty 2 | 3 | import ( 4 | "os" 5 | "syscall" 6 | "unsafe" 7 | ) 8 | 9 | func open() (pty, tty *os.File, err error) { 10 | /* 11 | * from ptm(4): 12 | * The PTMGET command allocates a free pseudo terminal, changes its 13 | * ownership to the caller, revokes the access privileges for all previous 14 | * users, opens the file descriptors for the pty and tty devices and 15 | * returns them to the caller in struct ptmget. 16 | */ 17 | 18 | p, err := os.OpenFile("/dev/ptm", os.O_RDWR|syscall.O_CLOEXEC, 0) 19 | if err != nil { 20 | return nil, nil, err 21 | } 22 | defer p.Close() 23 | 24 | var ptm ptmget 25 | if err := ioctl(p.Fd(), uintptr(ioctl_PTMGET), uintptr(unsafe.Pointer(&ptm))); err != nil { 26 | return nil, nil, err 27 | } 28 | 29 | pty = os.NewFile(uintptr(ptm.Cfd), "/dev/ptm") 30 | tty = os.NewFile(uintptr(ptm.Sfd), "/dev/ptm") 31 | 32 | return pty, tty, nil 33 | } 34 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/pty_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!darwin,!freebsd,!dragonfly,!openbsd,!solaris 2 | 3 | package pty 4 | 5 | import ( 6 | "os" 7 | ) 8 | 9 | func open() (pty, tty *os.File, err error) { 10 | return nil, nil, ErrUnsupported 11 | } 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_386.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types.go 3 | 4 | package pty 5 | 6 | type ( 7 | _C_int int32 8 | _C_uint uint32 9 | ) 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_amd64.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types.go 3 | 4 | package pty 5 | 6 | type ( 7 | _C_int int32 8 | _C_uint uint32 9 | ) 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_arm.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types.go 3 | 4 | package pty 5 | 6 | type ( 7 | _C_int int32 8 | _C_uint uint32 9 | ) 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_arm64.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types.go 3 | 4 | // +build arm64 5 | 6 | package pty 7 | 8 | type ( 9 | _C_int int32 10 | _C_uint uint32 11 | ) 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_dragonfly_amd64.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types_dragonfly.go 3 | 4 | package pty 5 | 6 | const ( 7 | _C_SPECNAMELEN = 0x3f 8 | ) 9 | 10 | type fiodgnameArg struct { 11 | Name *byte 12 | Len uint32 13 | Pad_cgo_0 [4]byte 14 | } 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_freebsd_386.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types_freebsd.go 3 | 4 | package pty 5 | 6 | const ( 7 | _C_SPECNAMELEN = 0x3f 8 | ) 9 | 10 | type fiodgnameArg struct { 11 | Len int32 12 | Buf *byte 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_freebsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types_freebsd.go 3 | 4 | package pty 5 | 6 | const ( 7 | _C_SPECNAMELEN = 0x3f 8 | ) 9 | 10 | type fiodgnameArg struct { 11 | Len int32 12 | Pad_cgo_0 [4]byte 13 | Buf *byte 14 | } 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_freebsd_arm.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types_freebsd.go 3 | 4 | package pty 5 | 6 | const ( 7 | _C_SPECNAMELEN = 0x3f 8 | ) 9 | 10 | type fiodgnameArg struct { 11 | Len int32 12 | Buf *byte 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_mipsx.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types.go 3 | 4 | // +build linux 5 | // +build mips mipsle mips64 mips64le 6 | 7 | package pty 8 | 9 | type ( 10 | _C_int int32 11 | _C_uint uint32 12 | ) 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_openbsd_386.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types_openbsd.go 3 | 4 | package pty 5 | 6 | type ptmget struct { 7 | Cfd int32 8 | Sfd int32 9 | Cn [16]int8 10 | Sn [16]int8 11 | } 12 | 13 | var ioctl_PTMGET = 0x40287401 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_openbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs types_openbsd.go 3 | 4 | package pty 5 | 6 | type ptmget struct { 7 | Cfd int32 8 | Sfd int32 9 | Cn [16]int8 10 | Sn [16]int8 11 | } 12 | 13 | var ioctl_PTMGET = 0x40287401 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_ppc64.go: -------------------------------------------------------------------------------- 1 | // +build ppc64 2 | 3 | // Created by cgo -godefs - DO NOT EDIT 4 | // cgo -godefs types.go 5 | 6 | package pty 7 | 8 | type ( 9 | _C_int int32 10 | _C_uint uint32 11 | ) 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_ppc64le.go: -------------------------------------------------------------------------------- 1 | // +build ppc64le 2 | 3 | // Created by cgo -godefs - DO NOT EDIT 4 | // cgo -godefs types.go 5 | 6 | package pty 7 | 8 | type ( 9 | _C_int int32 10 | _C_uint uint32 11 | ) 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_riscvx.go: -------------------------------------------------------------------------------- 1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT. 2 | // cgo -godefs types.go 3 | 4 | // +build riscv riscv64 5 | 6 | package pty 7 | 8 | type ( 9 | _C_int int32 10 | _C_uint uint32 11 | ) 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/creack/pty/ztypes_s390x.go: -------------------------------------------------------------------------------- 1 | // +build s390x 2 | 3 | // Created by cgo -godefs - DO NOT EDIT 4 | // cgo -godefs types.go 5 | 6 | package pty 7 | 8 | type ( 9 | _C_int int32 10 | _C_uint uint32 11 | ) 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/cyphar/filepath-securejoin/VERSION: -------------------------------------------------------------------------------- 1 | 0.4.1 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/cyphar/filepath-securejoin/gocompat_errors_go120.go: -------------------------------------------------------------------------------- 1 | //go:build linux && go1.20 2 | 3 | // Copyright (C) 2024 SUSE LLC. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | package securejoin 8 | 9 | import ( 10 | "fmt" 11 | ) 12 | 13 | // wrapBaseError is a helper that is equivalent to fmt.Errorf("%w: %w"), except 14 | // that on pre-1.20 Go versions only errors.Is() works properly (errors.Unwrap) 15 | // is only guaranteed to give you baseErr. 16 | func wrapBaseError(baseErr, extraErr error) error { 17 | return fmt.Errorf("%w: %w", extraErr, baseErr) 18 | } 19 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/cyphar/filepath-securejoin/gocompat_errors_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build linux && !go1.20 2 | 3 | // Copyright (C) 2024 SUSE LLC. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | package securejoin 8 | 9 | import ( 10 | "fmt" 11 | ) 12 | 13 | type wrappedError struct { 14 | inner error 15 | isError error 16 | } 17 | 18 | func (err wrappedError) Is(target error) bool { 19 | return err.isError == target 20 | } 21 | 22 | func (err wrappedError) Unwrap() error { 23 | return err.inner 24 | } 25 | 26 | func (err wrappedError) Error() string { 27 | return fmt.Sprintf("%v: %v", err.isError, err.inner) 28 | } 29 | 30 | // wrapBaseError is a helper that is equivalent to fmt.Errorf("%w: %w"), except 31 | // that on pre-1.20 Go versions only errors.Is() works properly (errors.Unwrap) 32 | // is only guaranteed to give you baseErr. 33 | func wrapBaseError(baseErr, extraErr error) error { 34 | return wrappedError{ 35 | inner: baseErr, 36 | isError: extraErr, 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/cyphar/filepath-securejoin/gocompat_generics_go121.go: -------------------------------------------------------------------------------- 1 | //go:build linux && go1.21 2 | 3 | // Copyright (C) 2024 SUSE LLC. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | package securejoin 8 | 9 | import ( 10 | "slices" 11 | "sync" 12 | ) 13 | 14 | func slices_DeleteFunc[S ~[]E, E any](slice S, delFn func(E) bool) S { 15 | return slices.DeleteFunc(slice, delFn) 16 | } 17 | 18 | func slices_Contains[S ~[]E, E comparable](slice S, val E) bool { 19 | return slices.Contains(slice, val) 20 | } 21 | 22 | func slices_Clone[S ~[]E, E any](slice S) S { 23 | return slices.Clone(slice) 24 | } 25 | 26 | func sync_OnceValue[T any](f func() T) func() T { 27 | return sync.OnceValue(f) 28 | } 29 | 30 | func sync_OnceValues[T1, T2 any](f func() (T1, T2)) func() (T1, T2) { 31 | return sync.OnceValues(f) 32 | } 33 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-logr/logr/.golangci.yaml: -------------------------------------------------------------------------------- 1 | run: 2 | timeout: 1m 3 | tests: true 4 | 5 | linters: 6 | disable-all: true 7 | enable: 8 | - asciicheck 9 | - errcheck 10 | - forcetypeassert 11 | - gocritic 12 | - gofmt 13 | - goimports 14 | - gosimple 15 | - govet 16 | - ineffassign 17 | - misspell 18 | - revive 19 | - staticcheck 20 | - typecheck 21 | - unused 22 | 23 | issues: 24 | exclude-use-default: false 25 | max-issues-per-linter: 0 26 | max-same-issues: 10 27 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-logr/logr/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | ## v1.0.0-rc1 4 | 5 | This is the first logged release. Major changes (including breaking changes) 6 | have occurred since earlier tags. 7 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-logr/logr/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Logr is open to pull-requests, provided they fit within the intended scope of 4 | the project. Specifically, this library aims to be VERY small and minimalist, 5 | with no external dependencies. 6 | 7 | ## Compatibility 8 | 9 | This project intends to follow [semantic versioning](http://semver.org) and 10 | is very strict about compatibility. Any proposed changes MUST follow those 11 | rules. 12 | 13 | ## Performance 14 | 15 | As a logging library, logr must be as light-weight as possible. Any proposed 16 | code change must include results of running the [benchmark](./benchmark) 17 | before and after the change. 18 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-logr/logr/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | If you have discovered a security vulnerability in this project, please report it 4 | privately. **Do not disclose it as a public issue.** This gives us time to work with you 5 | to fix the issue before public exposure, reducing the chance that the exploit will be 6 | used before a patch is released. 7 | 8 | You may submit the report in the following ways: 9 | 10 | - send an email to go-logr-security@googlegroups.com 11 | - send us a [private vulnerability report](https://github.com/go-logr/logr/security/advisories/new) 12 | 13 | Please provide the following information in your report: 14 | 15 | - A description of the vulnerability and its impact 16 | - How to reproduce the issue 17 | 18 | We ask that you give us 90 days to work on a fix before public exposure. 19 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-logr/logr/discard.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2020 The logr Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package logr 18 | 19 | // Discard returns a Logger that discards all messages logged to it. It can be 20 | // used whenever the caller is not interested in the logs. Logger instances 21 | // produced by this function always compare as equal. 22 | func Discard() Logger { 23 | return New(nil) 24 | } 25 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-task/slim-sprig/v3/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | insert_final_newline = true 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | indent_style = tab 10 | indent_size = 8 11 | 12 | [*.{md,yml,yaml,json}] 13 | indent_style = space 14 | indent_size = 2 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-task/slim-sprig/v3/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-task/slim-sprig/v3/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | /.glide 3 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml: -------------------------------------------------------------------------------- 1 | # https://taskfile.dev 2 | 3 | version: '3' 4 | 5 | tasks: 6 | default: 7 | cmds: 8 | - task: test 9 | 10 | test: 11 | cmds: 12 | - go test -v . 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-task/slim-sprig/v3/crypto.go: -------------------------------------------------------------------------------- 1 | package sprig 2 | 3 | import ( 4 | "crypto/sha1" 5 | "crypto/sha256" 6 | "encoding/hex" 7 | "fmt" 8 | "hash/adler32" 9 | ) 10 | 11 | func sha256sum(input string) string { 12 | hash := sha256.Sum256([]byte(input)) 13 | return hex.EncodeToString(hash[:]) 14 | } 15 | 16 | func sha1sum(input string) string { 17 | hash := sha1.Sum([]byte(input)) 18 | return hex.EncodeToString(hash[:]) 19 | } 20 | 21 | func adler32sum(input string) string { 22 | hash := adler32.Checksum([]byte(input)) 23 | return fmt.Sprintf("%d", hash) 24 | } 25 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-task/slim-sprig/v3/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package sprig provides template functions for Go. 3 | 4 | This package contains a number of utility functions for working with data 5 | inside of Go `html/template` and `text/template` files. 6 | 7 | To add these functions, use the `template.Funcs()` method: 8 | 9 | t := templates.New("foo").Funcs(sprig.FuncMap()) 10 | 11 | Note that you should add the function map before you parse any template files. 12 | 13 | In several cases, Sprig reverses the order of arguments from the way they 14 | appear in the standard library. This is to make it easier to pipe 15 | arguments into functions. 16 | 17 | See http://masterminds.github.io/sprig/ for more detailed documentation on each of the available functions. 18 | */ 19 | package sprig 20 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-task/slim-sprig/v3/network.go: -------------------------------------------------------------------------------- 1 | package sprig 2 | 3 | import ( 4 | "math/rand" 5 | "net" 6 | ) 7 | 8 | func getHostByName(name string) string { 9 | addrs, _ := net.LookupHost(name) 10 | //TODO: add error handing when release v3 comes out 11 | return addrs[rand.Intn(len(addrs))] 12 | } 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/go-task/slim-sprig/v3/reflect.go: -------------------------------------------------------------------------------- 1 | package sprig 2 | 3 | import ( 4 | "fmt" 5 | "reflect" 6 | ) 7 | 8 | // typeIs returns true if the src is the type named in target. 9 | func typeIs(target string, src interface{}) bool { 10 | return target == typeOf(src) 11 | } 12 | 13 | func typeIsLike(target string, src interface{}) bool { 14 | t := typeOf(src) 15 | return target == t || "*"+target == t 16 | } 17 | 18 | func typeOf(src interface{}) string { 19 | return fmt.Sprintf("%T", src) 20 | } 21 | 22 | func kindIs(target string, src interface{}) bool { 23 | return target == kindOf(src) 24 | } 25 | 26 | func kindOf(src interface{}) string { 27 | return reflect.ValueOf(src).Kind().String() 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Brandon Philips (@philips) 2 | Brian Waldon (@bcwaldon) 3 | John Southworth (@jsouthworth) 4 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/auth_anonymous.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | // AuthAnonymous returns an Auth that uses the ANONYMOUS mechanism. 4 | func AuthAnonymous() Auth { 5 | return &authAnonymous{} 6 | } 7 | 8 | type authAnonymous struct{} 9 | 10 | func (a *authAnonymous) FirstData() (name, resp []byte, status AuthStatus) { 11 | return []byte("ANONYMOUS"), nil, AuthOk 12 | } 13 | 14 | func (a *authAnonymous) HandleData(data []byte) (resp []byte, status AuthStatus) { 15 | return nil, AuthError 16 | } 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/auth_external.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import ( 4 | "encoding/hex" 5 | ) 6 | 7 | // AuthExternal returns an Auth that authenticates as the given user with the 8 | // EXTERNAL mechanism. 9 | func AuthExternal(user string) Auth { 10 | return authExternal{user} 11 | } 12 | 13 | // AuthExternal implements the EXTERNAL authentication mechanism. 14 | type authExternal struct { 15 | user string 16 | } 17 | 18 | func (a authExternal) FirstData() ([]byte, []byte, AuthStatus) { 19 | b := make([]byte, 2*len(a.user)) 20 | hex.Encode(b, []byte(a.user)) 21 | return []byte("EXTERNAL"), b, AuthOk 22 | } 23 | 24 | func (a authExternal) HandleData(b []byte) ([]byte, AuthStatus) { 25 | return nil, AuthError 26 | } 27 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/conn_darwin.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | "os" 7 | "os/exec" 8 | ) 9 | 10 | const defaultSystemBusAddress = "unix:path=/opt/local/var/run/dbus/system_bus_socket" 11 | 12 | func getSessionBusPlatformAddress() (string, error) { 13 | cmd := exec.Command("launchctl", "getenv", "DBUS_LAUNCHD_SESSION_BUS_SOCKET") 14 | b, err := cmd.CombinedOutput() 15 | 16 | if err != nil { 17 | return "", err 18 | } 19 | 20 | if len(b) == 0 { 21 | return "", errors.New("dbus: couldn't determine address of session bus") 22 | } 23 | 24 | return "unix:path=" + string(b[:len(b)-1]), nil 25 | } 26 | 27 | func getSystemBusPlatformAddress() string { 28 | address := os.Getenv("DBUS_LAUNCHD_SESSION_BUS_SOCKET") 29 | if address != "" { 30 | return fmt.Sprintf("unix:path=%s", address) 31 | } 32 | return defaultSystemBusAddress 33 | } 34 | 35 | func tryDiscoverDbusSessionBusAddress() string { 36 | return "" 37 | } 38 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/conn_unix.go: -------------------------------------------------------------------------------- 1 | //+build !windows,!solaris,!darwin 2 | 3 | package dbus 4 | 5 | import ( 6 | "os" 7 | ) 8 | 9 | const defaultSystemBusAddress = "unix:path=/var/run/dbus/system_bus_socket" 10 | 11 | func getSystemBusPlatformAddress() string { 12 | address := os.Getenv("DBUS_SYSTEM_BUS_ADDRESS") 13 | if address != "" { 14 | return address 15 | } 16 | return defaultSystemBusAddress 17 | } 18 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/conn_windows.go: -------------------------------------------------------------------------------- 1 | //+build windows 2 | 3 | package dbus 4 | 5 | import "os" 6 | 7 | const defaultSystemBusAddress = "tcp:host=127.0.0.1,port=12434" 8 | 9 | func getSystemBusPlatformAddress() string { 10 | address := os.Getenv("DBUS_SYSTEM_BUS_ADDRESS") 11 | if address != "" { 12 | return address 13 | } 14 | return defaultSystemBusAddress 15 | } 16 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/homedir.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import ( 4 | "os" 5 | "os/user" 6 | ) 7 | 8 | // Get returns the home directory of the current user, which is usually the 9 | // value of HOME environment variable. In case it is not set or empty, os/user 10 | // package is used. 11 | // 12 | // If linking statically with cgo enabled against glibc, make sure the 13 | // osusergo build tag is used. 14 | // 15 | // If needing to do nss lookups, do not disable cgo or set osusergo. 16 | func getHomeDir() string { 17 | homeDir := os.Getenv("HOME") 18 | if homeDir != "" { 19 | return homeDir 20 | } 21 | if u, err := user.Current(); err == nil { 22 | return u.HomeDir 23 | } 24 | return "/" 25 | } 26 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/sequence.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | // Sequence represents the value of a monotonically increasing counter. 4 | type Sequence uint64 5 | 6 | const ( 7 | // NoSequence indicates the absence of a sequence value. 8 | NoSequence Sequence = 0 9 | ) 10 | 11 | // sequenceGenerator represents a monotonically increasing counter. 12 | type sequenceGenerator struct { 13 | nextSequence Sequence 14 | } 15 | 16 | func (generator *sequenceGenerator) next() Sequence { 17 | result := generator.nextSequence 18 | generator.nextSequence++ 19 | return result 20 | } 21 | 22 | func newSequenceGenerator() *sequenceGenerator { 23 | return &sequenceGenerator{nextSequence: 1} 24 | } 25 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/transport_darwin.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | func (t *unixTransport) SendNullByte() error { 4 | _, err := t.Write([]byte{0}) 5 | return err 6 | } 7 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/transport_nonce_tcp.go: -------------------------------------------------------------------------------- 1 | //+build !windows 2 | 3 | package dbus 4 | 5 | import ( 6 | "errors" 7 | "io/ioutil" 8 | "net" 9 | ) 10 | 11 | func init() { 12 | transports["nonce-tcp"] = newNonceTcpTransport 13 | } 14 | 15 | func newNonceTcpTransport(keys string) (transport, error) { 16 | host := getKey(keys, "host") 17 | port := getKey(keys, "port") 18 | noncefile := getKey(keys, "noncefile") 19 | if host == "" || port == "" || noncefile == "" { 20 | return nil, errors.New("dbus: unsupported address (must set host, port and noncefile)") 21 | } 22 | protocol, err := tcpFamily(keys) 23 | if err != nil { 24 | return nil, err 25 | } 26 | socket, err := net.Dial(protocol, net.JoinHostPort(host, port)) 27 | if err != nil { 28 | return nil, err 29 | } 30 | b, err := ioutil.ReadFile(noncefile) 31 | if err != nil { 32 | return nil, err 33 | } 34 | _, err = socket.Write(b) 35 | if err != nil { 36 | return nil, err 37 | } 38 | return NewConn(socket) 39 | } 40 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/transport_tcp.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import ( 4 | "errors" 5 | "net" 6 | ) 7 | 8 | func init() { 9 | transports["tcp"] = newTcpTransport 10 | } 11 | 12 | func tcpFamily(keys string) (string, error) { 13 | switch getKey(keys, "family") { 14 | case "": 15 | return "tcp", nil 16 | case "ipv4": 17 | return "tcp4", nil 18 | case "ipv6": 19 | return "tcp6", nil 20 | default: 21 | return "", errors.New("dbus: invalid tcp family (must be ipv4 or ipv6)") 22 | } 23 | } 24 | 25 | func newTcpTransport(keys string) (transport, error) { 26 | host := getKey(keys, "host") 27 | port := getKey(keys, "port") 28 | if host == "" || port == "" { 29 | return nil, errors.New("dbus: unsupported address (must set host and port)") 30 | } 31 | 32 | protocol, err := tcpFamily(keys) 33 | if err != nil { 34 | return nil, err 35 | } 36 | socket, err := net.Dial(protocol, net.JoinHostPort(host, port)) 37 | if err != nil { 38 | return nil, err 39 | } 40 | return NewConn(socket) 41 | } 42 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/transport_unixcred_linux.go: -------------------------------------------------------------------------------- 1 | // The UnixCredentials system call is currently only implemented on Linux 2 | // http://golang.org/src/pkg/syscall/sockcmsg_linux.go 3 | // https://golang.org/s/go1.4-syscall 4 | // http://code.google.com/p/go/source/browse/unix/sockcmsg_linux.go?repo=sys 5 | 6 | package dbus 7 | 8 | import ( 9 | "io" 10 | "os" 11 | "syscall" 12 | ) 13 | 14 | func (t *unixTransport) SendNullByte() error { 15 | ucred := &syscall.Ucred{Pid: int32(os.Getpid()), Uid: uint32(os.Getuid()), Gid: uint32(os.Getgid())} 16 | b := syscall.UnixCredentials(ucred) 17 | _, oobn, err := t.UnixConn.WriteMsgUnix([]byte{0}, b, nil) 18 | if err != nil { 19 | return err 20 | } 21 | if oobn != len(b) { 22 | return io.ErrShortWrite 23 | } 24 | return nil 25 | } 26 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/transport_unixcred_netbsd.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import "io" 4 | 5 | func (t *unixTransport) SendNullByte() error { 6 | n, _, err := t.UnixConn.WriteMsgUnix([]byte{0}, nil, nil) 7 | if err != nil { 8 | return err 9 | } 10 | if n != 1 { 11 | return io.ErrShortWrite 12 | } 13 | return nil 14 | } 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/transport_unixcred_openbsd.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import "io" 4 | 5 | func (t *unixTransport) SendNullByte() error { 6 | n, _, err := t.UnixConn.WriteMsgUnix([]byte{0}, nil, nil) 7 | if err != nil { 8 | return err 9 | } 10 | if n != 1 { 11 | return io.ErrShortWrite 12 | } 13 | return nil 14 | } 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/godbus/dbus/v5/transport_zos.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | func (t *unixTransport) SendNullByte() error { 4 | _, err := t.Write([]byte{0}) 5 | return err 6 | } 7 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !cmp_debug 6 | // +build !cmp_debug 7 | 8 | package diff 9 | 10 | var debug debugger 11 | 12 | type debugger struct{} 13 | 14 | func (debugger) Begin(_, _ int, f EqualFunc, _, _ *EditScript) EqualFunc { 15 | return f 16 | } 17 | func (debugger) Update() {} 18 | func (debugger) Finish() {} 19 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/google/go-cmp/cmp/internal/flags/flags.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package flags 6 | 7 | // Deterministic controls whether the output of Diff should be deterministic. 8 | // This is only used for testing. 9 | var Deterministic bool 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/google/go-cmp/cmp/internal/value/pointer.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package value 6 | 7 | import ( 8 | "reflect" 9 | "unsafe" 10 | ) 11 | 12 | // Pointer is an opaque typed pointer and is guaranteed to be comparable. 13 | type Pointer struct { 14 | p unsafe.Pointer 15 | t reflect.Type 16 | } 17 | 18 | // PointerOf returns a Pointer from v, which must be a 19 | // reflect.Ptr, reflect.Slice, or reflect.Map. 20 | func PointerOf(v reflect.Value) Pointer { 21 | // The proper representation of a pointer is unsafe.Pointer, 22 | // which is necessary if the GC ever uses a moving collector. 23 | return Pointer{unsafe.Pointer(v.Pointer()), v.Type()} 24 | } 25 | 26 | // IsNil reports whether the pointer is nil. 27 | func (p Pointer) IsNil() bool { 28 | return p.p == nil 29 | } 30 | 31 | // Uintptr returns the pointer as a uintptr. 32 | func (p Pointer) Uintptr() uintptr { 33 | return uintptr(p.p) 34 | } 35 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/google/pprof/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of pprof authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | # Names should be added to this file as: 5 | # Name or Organization 6 | # The email address is not required for organizations. 7 | Google Inc. -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/google/pprof/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # People who have agreed to one of the CLAs and can contribute patches. 2 | # The AUTHORS file lists the copyright holders; this file 3 | # lists people. For example, Google employees are listed here 4 | # but not in AUTHORS, because Google holds the copyright. 5 | # 6 | # https://developers.google.com/open-source/cla/individual 7 | # https://developers.google.com/open-source/cla/corporate 8 | # 9 | # Names should be added to this file as: 10 | # Name 11 | Raul Silvera 12 | Tipp Moseley 13 | Hyoun Kyu Cho 14 | Martin Spier 15 | Taco de Wolff 16 | Andrew Hunter 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/inconshreveable/mousetrap/README.md: -------------------------------------------------------------------------------- 1 | # mousetrap 2 | 3 | mousetrap is a tiny library that answers a single question. 4 | 5 | On a Windows machine, was the process invoked by someone double clicking on 6 | the executable file while browsing in explorer? 7 | 8 | ### Motivation 9 | 10 | Windows developers unfamiliar with command line tools will often "double-click" 11 | the executable for a tool. Because most CLI tools print the help and then exit 12 | when invoked without arguments, this is often very frustrating for those users. 13 | 14 | mousetrap provides a way to detect these invocations so that you can provide 15 | more helpful behavior and instructions on how to run the CLI tool. To see what 16 | this looks like, both from an organizational and a technical perspective, see 17 | https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/ 18 | 19 | ### The interface 20 | 21 | The library exposes a single interface: 22 | 23 | func StartedByExplorer() (bool) 24 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/inconshreveable/mousetrap/trap_others.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package mousetrap 5 | 6 | // StartedByExplorer returns true if the program was invoked by the user 7 | // double-clicking on the executable from explorer.exe 8 | // 9 | // It is conservative and returns false if any of the internal calls fail. 10 | // It does not guarantee that the program was run from a terminal. It only can tell you 11 | // whether it was launched from explorer.exe 12 | // 13 | // On non-Windows platforms, it always returns false. 14 | func StartedByExplorer() bool { 15 | return false 16 | } 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/kr/pty/.gitignore: -------------------------------------------------------------------------------- 1 | [568].out 2 | _go* 3 | _test* 4 | _obj 5 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/kr/pty/README.md: -------------------------------------------------------------------------------- 1 | # pty 2 | 3 | This Go module has moved to . 4 | 5 | Existing clients will continue to work. 6 | 7 | New clients should use the new module import path 8 | `github.com/creack/pty`. 9 | 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/moby/sys/mountinfo/mountinfo_freebsdlike.go: -------------------------------------------------------------------------------- 1 | //go:build freebsd || darwin 2 | // +build freebsd darwin 3 | 4 | package mountinfo 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | func getMountinfo(entry *unix.Statfs_t) *Info { 9 | return &Info{ 10 | Mountpoint: unix.ByteSliceToString(entry.Mntonname[:]), 11 | FSType: unix.ByteSliceToString(entry.Fstypename[:]), 12 | Source: unix.ByteSliceToString(entry.Mntfromname[:]), 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/moby/sys/mountinfo/mountinfo_openbsd.go: -------------------------------------------------------------------------------- 1 | package mountinfo 2 | 3 | import "golang.org/x/sys/unix" 4 | 5 | func getMountinfo(entry *unix.Statfs_t) *Info { 6 | return &Info{ 7 | Mountpoint: unix.ByteSliceToString(entry.F_mntonname[:]), 8 | FSType: unix.ByteSliceToString(entry.F_fstypename[:]), 9 | Source: unix.ByteSliceToString(entry.F_mntfromname[:]), 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/moby/sys/mountinfo/mountinfo_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !windows && !linux && !freebsd && !openbsd && !darwin 2 | // +build !windows,!linux,!freebsd,!openbsd,!darwin 3 | 4 | package mountinfo 5 | 6 | import ( 7 | "fmt" 8 | "runtime" 9 | ) 10 | 11 | var errNotImplemented = fmt.Errorf("not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) 12 | 13 | func parseMountTable(_ FilterFunc) ([]*Info, error) { 14 | return nil, errNotImplemented 15 | } 16 | 17 | func mounted(path string) (bool, error) { 18 | return false, errNotImplemented 19 | } 20 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/moby/sys/mountinfo/mountinfo_windows.go: -------------------------------------------------------------------------------- 1 | package mountinfo 2 | 3 | func parseMountTable(_ FilterFunc) ([]*Info, error) { 4 | // Do NOT return an error! 5 | return nil, nil 6 | } 7 | 8 | func mounted(_ string) (bool, error) { 9 | return false, nil 10 | } 11 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/moby/sys/userns/userns.go: -------------------------------------------------------------------------------- 1 | // Package userns provides utilities to detect whether we are currently running 2 | // in a Linux user namespace. 3 | // 4 | // This code was migrated from [libcontainer/runc], which based its implementation 5 | // on code from [lcx/incus]. 6 | // 7 | // [libcontainer/runc]: https://github.com/opencontainers/runc/blob/3778ae603c706494fd1e2c2faf83b406e38d687d/libcontainer/userns/userns_linux.go#L12-L49 8 | // [lcx/incus]: https://github.com/lxc/incus/blob/e45085dd42f826b3c8c3228e9733c0b6f998eafe/shared/util.go#L678-L700 9 | package userns 10 | 11 | // RunningInUserNS detects whether we are currently running in a Linux 12 | // user namespace and memoizes the result. It returns false on non-Linux 13 | // platforms. 14 | func RunningInUserNS() bool { 15 | return inUserNS() 16 | } 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/moby/sys/userns/userns_linux_fuzzer.go: -------------------------------------------------------------------------------- 1 | //go:build linux && gofuzz 2 | 3 | package userns 4 | 5 | func FuzzUIDMap(uidmap []byte) int { 6 | _ = uidMapInUserNS(string(uidmap)) 7 | return 1 8 | } 9 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/moby/sys/userns/userns_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package userns 4 | 5 | // inUserNS is a stub for non-Linux systems. Always returns false. 6 | func inUserNS() bool { return false } 7 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | TODO 3 | tmp/**/* 4 | *.coverprofile 5 | .vscode 6 | .idea/ 7 | *.log 8 | *.test -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Ginkgo 2 | 3 | Your contributions to Ginkgo are essential for its long-term maintenance and improvement. 4 | 5 | - Please **open an issue first** - describe what problem you are trying to solve and give the community a forum for input and feedback ahead of investing time in writing code! 6 | - Ensure adequate test coverage: 7 | - When adding to the Ginkgo library, add unit and/or integration tests (under the `integration` folder). 8 | - When adding to the Ginkgo CLI, note that there are very few unit tests. Please add an integration test. 9 | - Run `make` or: 10 | - Install ginkgo locally via `go install ./...` 11 | - Make sure all the tests succeed via `ginkgo -r -p` 12 | - Vet your changes via `go vet ./...` 13 | - Update the documentation. Ginkgo uses `godoc` comments and documentation in `docs/index.md`. You can run `bundle && bundle exec jekyll serve` in the `docs` directory to preview your changes. 14 | 15 | Thanks for supporting Ginkgo! 16 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/Makefile: -------------------------------------------------------------------------------- 1 | # default task since it's first 2 | .PHONY: all 3 | all: vet test 4 | 5 | .PHONY: test 6 | test: 7 | go run github.com/onsi/ginkgo/v2/ginkgo -r -p -randomize-all -keep-going 8 | 9 | .PHONY: vet 10 | vet: 11 | go vet ./... 12 | 13 | .PHONY: update-deps 14 | update-deps: 15 | go get -u ./... 16 | go mod tidy -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/RELEASING.md: -------------------------------------------------------------------------------- 1 | A Ginkgo release is a tagged git sha and a GitHub release. To cut a release: 2 | 3 | 1. Ensure CHANGELOG.md is up to date. 4 | - Use 5 | ```bash 6 | LAST_VERSION=$(git tag --sort=version:refname | tail -n1) 7 | CHANGES=$(git log --pretty=format:'- %s [%h]' HEAD...$LAST_VERSION) 8 | echo -e "## NEXT\n\n$CHANGES\n\n### Features\n\n### Fixes\n\n### Maintenance\n\n$(cat CHANGELOG.md)" > CHANGELOG.md 9 | ``` 10 | to update the changelog 11 | - Categorize the changes into 12 | - Breaking Changes (requires a major version) 13 | - New Features (minor version) 14 | - Fixes (fix version) 15 | - Maintenance (which in general should not be mentioned in `CHANGELOG.md` as they have no user impact) 16 | 1. Update `VERSION` in `types/version.go` 17 | 1. Commit, push, and release: 18 | ``` 19 | git commit -m "vM.m.p" 20 | git push 21 | gh release create "vM.m.p" 22 | git fetch --tags origin master 23 | ``` -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.go: -------------------------------------------------------------------------------- 1 | package generators 2 | 3 | var specText = `{{.BuildTags}} 4 | package {{.Package}} 5 | 6 | import ( 7 | {{.GinkgoImport}} 8 | {{.GomegaImport}} 9 | 10 | {{if .ImportPackage}}"{{.PackageImportPath}}"{{end}} 11 | ) 12 | 13 | var _ = {{.GinkgoPackage}}Describe("{{.Subject}}", func() { 14 | 15 | }) 16 | ` 17 | 18 | var agoutiSpecText = `{{.BuildTags}} 19 | package {{.Package}} 20 | 21 | import ( 22 | {{.GinkgoImport}} 23 | {{.GomegaImport}} 24 | "github.com/sclevine/agouti" 25 | . "github.com/sclevine/agouti/matchers" 26 | 27 | {{if .ImportPackage}}"{{.PackageImportPath}}"{{end}} 28 | ) 29 | 30 | var _ = {{.GinkgoPackage}}Describe("{{.Subject}}", func() { 31 | var page *agouti.Page 32 | 33 | {{.GinkgoPackage}}BeforeEach(func() { 34 | var err error 35 | page, err = agoutiDriver.NewPage() 36 | {{.GomegaPackage}}Expect(err).NotTo({{.GomegaPackage}}HaveOccurred()) 37 | }) 38 | 39 | {{.GinkgoPackage}}AfterEach(func() { 40 | {{.GomegaPackage}}Expect(page.Destroy()).To({{.GomegaPackage}}Succeed()) 41 | }) 42 | }) 43 | ` 44 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.go: -------------------------------------------------------------------------------- 1 | package watch 2 | 3 | import "sort" 4 | 5 | type Delta struct { 6 | ModifiedPackages []string 7 | 8 | NewSuites []*Suite 9 | RemovedSuites []*Suite 10 | modifiedSuites []*Suite 11 | } 12 | 13 | type DescendingByDelta []*Suite 14 | 15 | func (a DescendingByDelta) Len() int { return len(a) } 16 | func (a DescendingByDelta) Swap(i, j int) { a[i], a[j] = a[j], a[i] } 17 | func (a DescendingByDelta) Less(i, j int) bool { return a[i].Delta() > a[j].Delta() } 18 | 19 | func (d Delta) ModifiedSuites() []*Suite { 20 | sort.Sort(DescendingByDelta(d.modifiedSuites)) 21 | return d.modifiedSuites 22 | } 23 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.go: -------------------------------------------------------------------------------- 1 | //go:build ginkgoclidependencies 2 | // +build ginkgoclidependencies 3 | 4 | package ginkgo 5 | 6 | import ( 7 | _ "github.com/onsi/ginkgo/v2/ginkgo" 8 | ) 9 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/counter.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | func MakeIncrementingIndexCounter() func() (int, error) { 4 | idx := -1 5 | return func() (int, error) { 6 | idx += 1 7 | return idx, nil 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/global/init.go: -------------------------------------------------------------------------------- 1 | package global 2 | 3 | import ( 4 | "github.com/onsi/ginkgo/v2/internal" 5 | ) 6 | 7 | var Suite *internal.Suite 8 | var Failer *internal.Failer 9 | var backupSuite *internal.Suite 10 | 11 | func init() { 12 | InitializeGlobals() 13 | } 14 | 15 | func InitializeGlobals() { 16 | Failer = internal.NewFailer() 17 | Suite = internal.NewSuite() 18 | } 19 | 20 | func PushClone() error { 21 | var err error 22 | backupSuite, err = Suite.Clone() 23 | return err 24 | } 25 | 26 | func PopClone() { 27 | Suite = backupSuite 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.go: -------------------------------------------------------------------------------- 1 | //go:build freebsd || openbsd || netbsd || dragonfly || darwin || linux || solaris 2 | // +build freebsd openbsd netbsd dragonfly darwin linux solaris 3 | 4 | package interrupt_handler 5 | 6 | import ( 7 | "os" 8 | "os/signal" 9 | "syscall" 10 | ) 11 | 12 | func SwallowSigQuit() { 13 | c := make(chan os.Signal, 1024) 14 | signal.Notify(c, syscall.SIGQUIT) 15 | } 16 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package interrupt_handler 5 | 6 | func SwallowSigQuit() { 7 | //noop 8 | } 9 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.go: -------------------------------------------------------------------------------- 1 | //go:build wasm 2 | 3 | package internal 4 | 5 | func NewOutputInterceptor() OutputInterceptor { 6 | return &NoopOutputInterceptor{} 7 | } 8 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package internal 4 | 5 | func NewOutputInterceptor() OutputInterceptor { 6 | return NewOSGlobalReassigningOutputInterceptor() 7 | } 8 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build freebsd || openbsd || netbsd || darwin || dragonfly 2 | // +build freebsd openbsd netbsd darwin dragonfly 3 | 4 | package internal 5 | 6 | import ( 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | var PROGRESS_SIGNALS = []os.Signal{syscall.SIGINFO, syscall.SIGUSR1} 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.go: -------------------------------------------------------------------------------- 1 | //go:build linux || solaris 2 | // +build linux solaris 3 | 4 | package internal 5 | 6 | import ( 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | var PROGRESS_SIGNALS = []os.Signal{syscall.SIGUSR1} 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.go: -------------------------------------------------------------------------------- 1 | //go:build wasm 2 | 3 | package internal 4 | 5 | import ( 6 | "os" 7 | "syscall" 8 | ) 9 | 10 | var PROGRESS_SIGNALS = []os.Signal{syscall.SIGUSR1} 11 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package internal 5 | 6 | import "os" 7 | 8 | var PROGRESS_SIGNALS = []os.Signal{} 9 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/internal/report_entry.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | import ( 4 | "time" 5 | 6 | "github.com/onsi/ginkgo/v2/types" 7 | ) 8 | 9 | type ReportEntry = types.ReportEntry 10 | 11 | func NewReportEntry(name string, cl types.CodeLocation, args ...any) (ReportEntry, error) { 12 | out := ReportEntry{ 13 | Visibility: types.ReportEntryVisibilityAlways, 14 | Name: name, 15 | Location: cl, 16 | Time: time.Now(), 17 | } 18 | var didSetValue = false 19 | for _, arg := range args { 20 | switch x := arg.(type) { 21 | case types.ReportEntryVisibility: 22 | out.Visibility = x 23 | case types.CodeLocation: 24 | out.Location = x 25 | case Offset: 26 | out.Location = types.NewCodeLocation(2 + int(x)) 27 | case time.Time: 28 | out.Time = x 29 | default: 30 | if didSetValue { 31 | return ReportEntry{}, types.GinkgoErrors.TooManyReportEntryValues(out.Location, arg) 32 | } 33 | out.Value = types.WrapEntryValue(arg) 34 | didSetValue = true 35 | } 36 | } 37 | 38 | return out, nil 39 | } 40 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/ginkgo/v2/types/version.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const VERSION = "2.23.4" 4 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.test 3 | . 4 | .idea 5 | gomega.iml 6 | TODO 7 | .vscode -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Gomega 2 | 3 | Your contributions to Gomega are essential for its long-term maintenance and improvement. To make a contribution: 4 | 5 | - Please **open an issue first** - describe what problem you are trying to solve and give the community a forum for input and feedback ahead of investing time in writing code! 6 | - Ensure adequate test coverage: 7 | - Make sure to add appropriate unit tests 8 | - Please run all tests locally (`ginkgo -r -p`) and make sure they go green before submitting the PR 9 | - Please run following linter locally `go vet ./...` and make sure output does not contain any warnings 10 | - Update the documentation. In addition to standard `godoc` comments Gomega has extensive documentation on the `gh-pages` branch. If relevant, please submit a docs PR to that branch alongside your code PR. 11 | 12 | If you're a committer, check out RELEASING.md to learn how to cut a release. 13 | 14 | Thanks for supporting Gomega! 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/README.md: -------------------------------------------------------------------------------- 1 | ![Gomega: Ginkgo's Preferred Matcher Library](http://onsi.github.io/gomega/images/gomega.png) 2 | 3 | [![test](https://github.com/onsi/gomega/actions/workflows/test.yml/badge.svg)](https://github.com/onsi/gomega/actions/workflows/test.yml) 4 | 5 | Jump straight to the [docs](http://onsi.github.io/gomega/) to learn about Gomega, including a list of [all available matchers](http://onsi.github.io/gomega/#provided-matchers). 6 | 7 | If you have a question, comment, bug report, feature request, etc. please open a GitHub issue. 8 | 9 | ## [Ginkgo](http://github.com/onsi/ginkgo): a BDD Testing Framework for Golang 10 | 11 | Learn more about Ginkgo [here](http://onsi.github.io/ginkgo/) 12 | 13 | ## Community Matchers 14 | 15 | A collection of community matchers is available on the [wiki](https://github.com/onsi/gomega/wiki). 16 | 17 | ## License 18 | 19 | Gomega is MIT-Licensed 20 | 21 | The `ConsistOf` matcher uses [goraph](https://github.com/amitkgupta/goraph) which is embedded in the source to simplify distribution. goraph has an MIT license. 22 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/RELEASING.md: -------------------------------------------------------------------------------- 1 | A Gomega release is a tagged sha and a GitHub release. To cut a release: 2 | 3 | 1. Ensure CHANGELOG.md is up to date. 4 | - Use 5 | ```bash 6 | LAST_VERSION=$(git tag --sort=version:refname | tail -n1) 7 | CHANGES=$(git log --pretty=format:'- %s [%h]' HEAD...$LAST_VERSION) 8 | echo -e "## NEXT\n\n$CHANGES\n\n### Features\n\n### Fixes\n\n### Maintenance\n\n$(cat CHANGELOG.md)" > CHANGELOG.md 9 | ``` 10 | to update the changelog 11 | - Categorize the changes into 12 | - Breaking Changes (requires a major version) 13 | - New Features (minor version) 14 | - Fixes (fix version) 15 | - Maintenance (which in general should not be mentioned in `CHANGELOG.md` as they have no user impact) 16 | 1. Update GOMEGA_VERSION in `gomega_dsl.go` 17 | 1. Commit, push, and release: 18 | ``` 19 | git commit -m "vM.m.p" 20 | git push 21 | gh release create "vM.m.p" 22 | git fetch --tags origin master 23 | ``` -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/internal/vetoptdesc.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/types" 7 | ) 8 | 9 | // vetOptionalDescription vets the optional description args: if it finds any 10 | // Gomega matcher at the beginning it panics. This allows for rendering Gomega 11 | // matchers as part of an optional Description, as long as they're not in the 12 | // first slot. 13 | func vetOptionalDescription(assertion string, optionalDescription ...any) { 14 | if len(optionalDescription) == 0 { 15 | return 16 | } 17 | if _, isGomegaMatcher := optionalDescription[0].(types.GomegaMatcher); isGomegaMatcher { 18 | panic(fmt.Sprintf("%s has a GomegaMatcher as the first element of optionalDescription.\n\t"+ 19 | "Do you mean to use And/Or/SatisfyAll/SatisfyAny to combine multiple matchers?", 20 | assertion)) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/attributes_slice.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "encoding/xml" 5 | "strings" 6 | ) 7 | 8 | type attributesSlice []xml.Attr 9 | 10 | func (attrs attributesSlice) Len() int { return len(attrs) } 11 | func (attrs attributesSlice) Less(i, j int) bool { 12 | return strings.Compare(attrs[i].Name.Local, attrs[j].Name.Local) == -1 13 | } 14 | func (attrs attributesSlice) Swap(i, j int) { attrs[i], attrs[j] = attrs[j], attrs[i] } 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/be_an_existing_file.go: -------------------------------------------------------------------------------- 1 | // untested sections: 3 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | "os" 8 | 9 | "github.com/onsi/gomega/format" 10 | ) 11 | 12 | type BeAnExistingFileMatcher struct { 13 | expected any 14 | } 15 | 16 | func (matcher *BeAnExistingFileMatcher) Match(actual any) (success bool, err error) { 17 | actualFilename, ok := actual.(string) 18 | if !ok { 19 | return false, fmt.Errorf("BeAnExistingFileMatcher matcher expects a file path") 20 | } 21 | 22 | if _, err = os.Stat(actualFilename); err != nil { 23 | switch { 24 | case os.IsNotExist(err): 25 | return false, nil 26 | default: 27 | return false, err 28 | } 29 | } 30 | 31 | return true, nil 32 | } 33 | 34 | func (matcher *BeAnExistingFileMatcher) FailureMessage(actual any) (message string) { 35 | return format.Message(actual, "to exist") 36 | } 37 | 38 | func (matcher *BeAnExistingFileMatcher) NegatedFailureMessage(actual any) (message string) { 39 | return format.Message(actual, "not to exist") 40 | } 41 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/be_false_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/onsi/gomega/format" 9 | ) 10 | 11 | type BeFalseMatcher struct { 12 | Reason string 13 | } 14 | 15 | func (matcher *BeFalseMatcher) Match(actual any) (success bool, err error) { 16 | if !isBool(actual) { 17 | return false, fmt.Errorf("Expected a boolean. Got:\n%s", format.Object(actual, 1)) 18 | } 19 | 20 | return actual == false, nil 21 | } 22 | 23 | func (matcher *BeFalseMatcher) FailureMessage(actual any) (message string) { 24 | if matcher.Reason == "" { 25 | return format.Message(actual, "to be false") 26 | } else { 27 | return matcher.Reason 28 | } 29 | } 30 | 31 | func (matcher *BeFalseMatcher) NegatedFailureMessage(actual any) (message string) { 32 | if matcher.Reason == "" { 33 | return format.Message(actual, "not to be false") 34 | } else { 35 | return fmt.Sprintf(`Expected not false but got false\nNegation of "%s" failed`, matcher.Reason) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/be_nil_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import "github.com/onsi/gomega/format" 6 | 7 | type BeNilMatcher struct { 8 | } 9 | 10 | func (matcher *BeNilMatcher) Match(actual any) (success bool, err error) { 11 | return isNil(actual), nil 12 | } 13 | 14 | func (matcher *BeNilMatcher) FailureMessage(actual any) (message string) { 15 | return format.Message(actual, "to be nil") 16 | } 17 | 18 | func (matcher *BeNilMatcher) NegatedFailureMessage(actual any) (message string) { 19 | return format.Message(actual, "not to be nil") 20 | } 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/be_true_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/onsi/gomega/format" 9 | ) 10 | 11 | type BeTrueMatcher struct { 12 | Reason string 13 | } 14 | 15 | func (matcher *BeTrueMatcher) Match(actual any) (success bool, err error) { 16 | if !isBool(actual) { 17 | return false, fmt.Errorf("Expected a boolean. Got:\n%s", format.Object(actual, 1)) 18 | } 19 | 20 | return actual.(bool), nil 21 | } 22 | 23 | func (matcher *BeTrueMatcher) FailureMessage(actual any) (message string) { 24 | if matcher.Reason == "" { 25 | return format.Message(actual, "to be true") 26 | } else { 27 | return matcher.Reason 28 | } 29 | } 30 | 31 | func (matcher *BeTrueMatcher) NegatedFailureMessage(actual any) (message string) { 32 | if matcher.Reason == "" { 33 | return format.Message(actual, "not to be true") 34 | } else { 35 | return fmt.Sprintf(`Expected not true but got true\nNegation of "%s" failed`, matcher.Reason) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/be_zero_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "reflect" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type BeZeroMatcher struct { 10 | } 11 | 12 | func (matcher *BeZeroMatcher) Match(actual any) (success bool, err error) { 13 | if actual == nil { 14 | return true, nil 15 | } 16 | zeroValue := reflect.Zero(reflect.TypeOf(actual)).Interface() 17 | 18 | return reflect.DeepEqual(zeroValue, actual), nil 19 | 20 | } 21 | 22 | func (matcher *BeZeroMatcher) FailureMessage(actual any) (message string) { 23 | return format.Message(actual, "to be zero-valued") 24 | } 25 | 26 | func (matcher *BeZeroMatcher) NegatedFailureMessage(actual any) (message string) { 27 | return format.Message(actual, "not to be zero-valued") 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/have_cap_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/onsi/gomega/format" 9 | ) 10 | 11 | type HaveCapMatcher struct { 12 | Count int 13 | } 14 | 15 | func (matcher *HaveCapMatcher) Match(actual any) (success bool, err error) { 16 | length, ok := capOf(actual) 17 | if !ok { 18 | return false, fmt.Errorf("HaveCap matcher expects a array/channel/slice. Got:\n%s", format.Object(actual, 1)) 19 | } 20 | 21 | return length == matcher.Count, nil 22 | } 23 | 24 | func (matcher *HaveCapMatcher) FailureMessage(actual any) (message string) { 25 | return fmt.Sprintf("Expected\n%s\nto have capacity %d", format.Object(actual, 1), matcher.Count) 26 | } 27 | 28 | func (matcher *HaveCapMatcher) NegatedFailureMessage(actual any) (message string) { 29 | return fmt.Sprintf("Expected\n%s\nnot to have capacity %d", format.Object(actual, 1), matcher.Count) 30 | } 31 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/have_len_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type HaveLenMatcher struct { 10 | Count int 11 | } 12 | 13 | func (matcher *HaveLenMatcher) Match(actual any) (success bool, err error) { 14 | length, ok := lengthOf(actual) 15 | if !ok { 16 | return false, fmt.Errorf("HaveLen matcher expects a string/array/map/channel/slice/iterator. Got:\n%s", format.Object(actual, 1)) 17 | } 18 | 19 | return length == matcher.Count, nil 20 | } 21 | 22 | func (matcher *HaveLenMatcher) FailureMessage(actual any) (message string) { 23 | return fmt.Sprintf("Expected\n%s\nto have length %d", format.Object(actual, 1), matcher.Count) 24 | } 25 | 26 | func (matcher *HaveLenMatcher) NegatedFailureMessage(actual any) (message string) { 27 | return fmt.Sprintf("Expected\n%s\nnot to have length %d", format.Object(actual, 1), matcher.Count) 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/onsi/gomega/format" 9 | ) 10 | 11 | type HaveOccurredMatcher struct { 12 | } 13 | 14 | func (matcher *HaveOccurredMatcher) Match(actual any) (success bool, err error) { 15 | // is purely nil? 16 | if actual == nil { 17 | return false, nil 18 | } 19 | 20 | // must be an 'error' type 21 | if !isError(actual) { 22 | return false, fmt.Errorf("Expected an error-type. Got:\n%s", format.Object(actual, 1)) 23 | } 24 | 25 | // must be non-nil (or a pointer to a non-nil) 26 | return !isNil(actual), nil 27 | } 28 | 29 | func (matcher *HaveOccurredMatcher) FailureMessage(actual any) (message string) { 30 | return fmt.Sprintf("Expected an error to have occurred. Got:\n%s", format.Object(actual, 1)) 31 | } 32 | 33 | func (matcher *HaveOccurredMatcher) NegatedFailureMessage(actual any) (message string) { 34 | return fmt.Sprintf("Unexpected error:\n%s\n%s", format.Object(actual, 1), "occurred") 35 | } 36 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/not.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "github.com/onsi/gomega/types" 5 | ) 6 | 7 | type NotMatcher struct { 8 | Matcher types.GomegaMatcher 9 | } 10 | 11 | func (m *NotMatcher) Match(actual any) (bool, error) { 12 | success, err := m.Matcher.Match(actual) 13 | if err != nil { 14 | return false, err 15 | } 16 | return !success, nil 17 | } 18 | 19 | func (m *NotMatcher) FailureMessage(actual any) (message string) { 20 | return m.Matcher.NegatedFailureMessage(actual) // works beautifully 21 | } 22 | 23 | func (m *NotMatcher) NegatedFailureMessage(actual any) (message string) { 24 | return m.Matcher.FailureMessage(actual) // works beautifully 25 | } 26 | 27 | func (m *NotMatcher) MatchMayChangeInTheFuture(actual any) bool { 28 | return types.MatchMayChangeInTheFuture(m.Matcher, actual) // just return m.Matcher's value 29 | } 30 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/support/goraph/node/node.go: -------------------------------------------------------------------------------- 1 | package node 2 | 3 | type Node struct { 4 | ID int 5 | Value any 6 | } 7 | 8 | type NodeOrderedSet []Node 9 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/onsi/gomega/matchers/support/goraph/util/util.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | import "math" 4 | 5 | func Odd(n int) bool { 6 | return math.Mod(float64(n), 2.0) == 1.0 7 | } 8 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/NOTICE: -------------------------------------------------------------------------------- 1 | runc 2 | 3 | Copyright 2012-2015 Docker, Inc. 4 | 5 | This product includes software developed at Docker, Inc. (http://www.docker.com). 6 | 7 | The following is courtesy of our legal counsel: 8 | 9 | 10 | Use and transfer of Docker may be subject to certain restrictions by the 11 | United States and other governments. 12 | It is your responsibility to ensure that your use and/or transfer does not 13 | violate applicable laws. 14 | 15 | For more information, please see http://www.bis.doc.gov 16 | 17 | See also http://www.apache.org/dev/crypto.html and/or seek legal counsel. 18 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/cgroups/getallpids.go: -------------------------------------------------------------------------------- 1 | package cgroups 2 | 3 | import ( 4 | "io/fs" 5 | "path/filepath" 6 | ) 7 | 8 | // GetAllPids returns all pids from the cgroup identified by path, and all its 9 | // sub-cgroups. 10 | func GetAllPids(path string) ([]int, error) { 11 | var pids []int 12 | err := filepath.WalkDir(path, func(p string, d fs.DirEntry, iErr error) error { 13 | if iErr != nil { 14 | return iErr 15 | } 16 | if !d.IsDir() { 17 | return nil 18 | } 19 | cPids, err := readProcsFile(p) 20 | if err != nil { 21 | return err 22 | } 23 | pids = append(pids, cPids...) 24 | return nil 25 | }) 26 | return pids, err 27 | } 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/cgroup_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package configs 4 | 5 | // Cgroup holds properties of a cgroup on Linux 6 | // TODO Windows: This can ultimately be entirely factored out on Windows as 7 | // cgroups are a Unix-specific construct. 8 | type Cgroup struct{} 9 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/configs_fuzzer.go: -------------------------------------------------------------------------------- 1 | //go:build gofuzz 2 | 3 | package configs 4 | 5 | func FuzzUnmarshalJSON(data []byte) int { 6 | hooks := Hooks{} 7 | _ = hooks.UnmarshalJSON(data) 8 | return 1 9 | } 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/hugepage_limit.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | type HugepageLimit struct { 4 | // which type of hugepage to limit. 5 | Pagesize string `json:"page_size"` 6 | 7 | // usage limit for hugepage. 8 | Limit uint64 `json:"limit"` 9 | } 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/intelrdt.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | type IntelRdt struct { 4 | // The identity for RDT Class of Service 5 | ClosID string `json:"closID,omitempty"` 6 | 7 | // The schema for L3 cache id and capacity bitmask (CBM) 8 | // Format: "L3:=;=;..." 9 | L3CacheSchema string `json:"l3_cache_schema,omitempty"` 10 | 11 | // The schema of memory bandwidth per L3 cache id 12 | // Format: "MB:=bandwidth0;=bandwidth1;..." 13 | // The unit of memory bandwidth is specified in "percentages" by 14 | // default, and in "MBps" if MBA Software Controller is enabled. 15 | MemBwSchema string `json:"memBwSchema,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/interface_priority_map.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | type IfPrioMap struct { 8 | Interface string `json:"interface"` 9 | Priority int64 `json:"priority"` 10 | } 11 | 12 | func (i *IfPrioMap) CgroupString() string { 13 | return fmt.Sprintf("%s %d", i.Interface, i.Priority) 14 | } 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/mount.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | const ( 4 | // EXT_COPYUP is a directive to copy up the contents of a directory when 5 | // a tmpfs is mounted over it. 6 | EXT_COPYUP = 1 << iota //nolint:golint,revive // ignore "don't use ALL_CAPS" warning 7 | ) 8 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/mount_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package configs 4 | 5 | type Mount struct{} 6 | 7 | func (m *Mount) IsBind() bool { 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/namespaces.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | type NamespaceType string 4 | 5 | type Namespaces []Namespace 6 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/namespaces_syscall_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux && !windows 2 | 3 | package configs 4 | 5 | func (n *Namespace) Syscall() int { 6 | panic("No namespace syscall support") 7 | } 8 | 9 | // CloneFlags parses the container's Namespaces options to set the correct 10 | // flags on clone, unshare. This function returns flags only for new namespaces. 11 | func (n *Namespaces) CloneFlags() uintptr { 12 | panic("No namespace syscall support") 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/namespaces_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package configs 4 | 5 | // Namespace defines configuration for each namespace. It specifies an 6 | // alternate path that is able to be joined via setns. 7 | type Namespace struct{} 8 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runc/libcontainer/configs/rdma.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | // LinuxRdma for Linux cgroup 'rdma' resource management (Linux 4.11) 4 | type LinuxRdma struct { 5 | // Maximum number of HCA handles that can be opened. Default is "no limit". 6 | HcaHandles *uint32 `json:"hca_handles,omitempty"` 7 | // Maximum number of HCA objects that can be created. Default is "no limit". 8 | HcaObjects *uint32 `json:"hca_objects,omitempty"` 9 | } 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/opencontainers/runtime-spec/specs-go/version.go: -------------------------------------------------------------------------------- 1 | package specs 2 | 3 | import "fmt" 4 | 5 | const ( 6 | // VersionMajor is for an API incompatible changes 7 | VersionMajor = 1 8 | // VersionMinor is for functionality in a backwards-compatible manner 9 | VersionMinor = 2 10 | // VersionPatch is for backwards-compatible bug fixes 11 | VersionPatch = 1 12 | 13 | // VersionDev indicates development branch. Releases will be empty string. 14 | VersionDev = "" 15 | ) 16 | 17 | // Version is the specification version that the package types support. 18 | var Version = fmt.Sprintf("%d.%d.%d%s", VersionMajor, VersionMinor, VersionPatch, VersionDev) 19 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/openzipkin/zipkin-go/model/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The OpenZipkin Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /* 16 | Package model contains the Zipkin V2 model which is used by the Zipkin Go 17 | tracer implementation. 18 | 19 | Third party instrumentation libraries can use the model and transport packages 20 | found in this Zipkin Go library to directly interface with the Zipkin Server or 21 | Zipkin Collectors without the need to use the tracer implementation itself. 22 | */ 23 | package model 24 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/openzipkin/zipkin-go/model/kind.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The OpenZipkin Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package model 16 | 17 | // Kind clarifies context of timestamp, duration and remoteEndpoint in a span. 18 | type Kind string 19 | 20 | // Available Kind values 21 | const ( 22 | Undetermined Kind = "" 23 | Client Kind = "CLIENT" 24 | Server Kind = "SERVER" 25 | Producer Kind = "PRODUCER" 26 | Consumer Kind = "CONSUMER" 27 | ) 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/satori/go.uuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.2 5 | - 1.3 6 | - 1.4 7 | - 1.5 8 | - 1.6 9 | - 1.7 10 | - 1.8 11 | - 1.9 12 | - tip 13 | matrix: 14 | allow_failures: 15 | - go: tip 16 | fast_finish: true 17 | before_install: 18 | - go get github.com/mattn/goveralls 19 | - go get golang.org/x/tools/cmd/cover 20 | script: 21 | - $HOME/gopath/bin/goveralls -service=travis-ci 22 | notifications: 23 | email: false 24 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/.gitignore: -------------------------------------------------------------------------------- 1 | logrus 2 | vendor 3 | 4 | .idea/ 5 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/sirupsen/logrus 3 | git: 4 | depth: 1 5 | env: 6 | - GO111MODULE=on 7 | go: 1.15.x 8 | os: linux 9 | install: 10 | - ./travis/install.sh 11 | script: 12 | - cd ci 13 | - go run mage.go -v -w ../ crossBuild 14 | - go run mage.go -v -w ../ lint 15 | - go run mage.go -v -w ../ test 16 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "{build}" 2 | platform: x64 3 | clone_folder: c:\gopath\src\github.com\sirupsen\logrus 4 | environment: 5 | GOPATH: c:\gopath 6 | branches: 7 | only: 8 | - master 9 | install: 10 | - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% 11 | - go version 12 | build_script: 13 | - go get -t 14 | - go test 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/buffer_pool.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "bytes" 5 | "sync" 6 | ) 7 | 8 | var ( 9 | bufferPool BufferPool 10 | ) 11 | 12 | type BufferPool interface { 13 | Put(*bytes.Buffer) 14 | Get() *bytes.Buffer 15 | } 16 | 17 | type defaultPool struct { 18 | pool *sync.Pool 19 | } 20 | 21 | func (p *defaultPool) Put(buf *bytes.Buffer) { 22 | p.pool.Put(buf) 23 | } 24 | 25 | func (p *defaultPool) Get() *bytes.Buffer { 26 | return p.pool.Get().(*bytes.Buffer) 27 | } 28 | 29 | // SetBufferPool allows to replace the default logrus buffer pool 30 | // to better meets the specific needs of an application. 31 | func SetBufferPool(bp BufferPool) { 32 | bufferPool = bp 33 | } 34 | 35 | func init() { 36 | SetBufferPool(&defaultPool{ 37 | pool: &sync.Pool{ 38 | New: func() interface{} { 39 | return new(bytes.Buffer) 40 | }, 41 | }, 42 | }) 43 | } 44 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package logrus is a structured logger for Go, completely API compatible with the standard library logger. 3 | 4 | 5 | The simplest way to use Logrus is simply the package-level exported logger: 6 | 7 | package main 8 | 9 | import ( 10 | log "github.com/sirupsen/logrus" 11 | ) 12 | 13 | func main() { 14 | log.WithFields(log.Fields{ 15 | "animal": "walrus", 16 | "number": 1, 17 | "size": 10, 18 | }).Info("A walrus appears") 19 | } 20 | 21 | Output: 22 | time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10 23 | 24 | For a full guide visit https://github.com/sirupsen/logrus 25 | */ 26 | package logrus 27 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return true 11 | } 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin dragonfly freebsd netbsd openbsd 2 | // +build !js 3 | 4 | package logrus 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | const ioctlReadTermios = unix.TIOCGETA 9 | 10 | func isTerminal(fd int) bool { 11 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) 12 | return err == nil 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/terminal_check_js.go: -------------------------------------------------------------------------------- 1 | // +build js 2 | 3 | package logrus 4 | 5 | func isTerminal(fd int) bool { 6 | return false 7 | } 8 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go: -------------------------------------------------------------------------------- 1 | // +build js nacl plan9 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return false 11 | } 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,!windows,!nacl,!plan9 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | ) 9 | 10 | func checkIfTerminal(w io.Writer) bool { 11 | switch v := w.(type) { 12 | case *os.File: 13 | return isTerminal(int(v.Fd())) 14 | default: 15 | return false 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "golang.org/x/sys/unix" 5 | ) 6 | 7 | // IsTerminal returns true if the given file descriptor is a terminal. 8 | func isTerminal(fd int) bool { 9 | _, err := unix.IoctlGetTermio(fd, unix.TCGETA) 10 | return err == nil 11 | } 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/terminal_check_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux aix zos 2 | // +build !js 3 | 4 | package logrus 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | const ioctlReadTermios = unix.TCGETS 9 | 10 | func isTerminal(fd int) bool { 11 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) 12 | return err == nil 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/sirupsen/logrus/terminal_check_windows.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,windows 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | 9 | "golang.org/x/sys/windows" 10 | ) 11 | 12 | func checkIfTerminal(w io.Writer) bool { 13 | switch v := w.(type) { 14 | case *os.File: 15 | handle := windows.Handle(v.Fd()) 16 | var mode uint32 17 | if err := windows.GetConsoleMode(handle, &mode); err != nil { 18 | return false 19 | } 20 | mode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING 21 | if err := windows.SetConsoleMode(handle, mode); err != nil { 22 | return false 23 | } 24 | return true 25 | } 26 | return false 27 | } 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/cobra/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | # Vim files https://github.com/github/gitignore/blob/master/Global/Vim.gitignore 23 | # swap 24 | [._]*.s[a-w][a-z] 25 | [._]s[a-w][a-z] 26 | # session 27 | Session.vim 28 | # temporary 29 | .netrwhist 30 | *~ 31 | # auto-generated tag files 32 | tags 33 | 34 | *.exe 35 | cobra.test 36 | bin 37 | 38 | .idea/ 39 | *.iml 40 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/cobra/.mailmap: -------------------------------------------------------------------------------- 1 | Steve Francia 2 | Bjørn Erik Pedersen 3 | Fabiano Franz 4 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/cobra/MAINTAINERS: -------------------------------------------------------------------------------- 1 | maintainers: 2 | - spf13 3 | - johnSchnake 4 | - jpmcb 5 | - marckhouzam 6 | inactive: 7 | - anthonyfok 8 | - bep 9 | - bogem 10 | - broady 11 | - eparis 12 | - jharshman 13 | - wfernandes 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/cobra/Makefile: -------------------------------------------------------------------------------- 1 | BIN="./bin" 2 | SRC=$(shell find . -name "*.go") 3 | 4 | ifeq (, $(shell which golangci-lint)) 5 | $(warning "could not find golangci-lint in $(PATH), run: curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh") 6 | endif 7 | 8 | .PHONY: fmt lint test install_deps clean 9 | 10 | default: all 11 | 12 | all: fmt test 13 | 14 | fmt: 15 | $(info ******************** checking formatting ********************) 16 | @test -z $(shell gofmt -l $(SRC)) || (gofmt -d $(SRC); exit 1) 17 | 18 | lint: 19 | $(info ******************** running lint tools ********************) 20 | golangci-lint run -v 21 | 22 | test: install_deps 23 | $(info ******************** running tests ********************) 24 | go test -v ./... 25 | 26 | richtest: install_deps 27 | $(info ******************** running tests with kyoh86/richgo ********************) 28 | richgo test -v ./... 29 | 30 | install_deps: 31 | $(info ******************** downloading dependencies ********************) 32 | go get -v ./... 33 | 34 | clean: 35 | rm -rf $(BIN) 36 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/cobra/command_notwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013-2023 The Cobra Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //go:build !windows 16 | // +build !windows 17 | 18 | package cobra 19 | 20 | var preExecHookFn func(*Command) 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/pflag/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 4 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.go] 12 | indent_style = tab 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/pflag/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/* 2 | 3 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/pflag/.golangci.yaml: -------------------------------------------------------------------------------- 1 | linters: 2 | disable-all: true 3 | enable: 4 | - nolintlint 5 | -------------------------------------------------------------------------------- /src/bpm/vendor/github.com/spf13/pflag/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.9.x 7 | - 1.10.x 8 | - 1.11.x 9 | - tip 10 | 11 | matrix: 12 | allow_failures: 13 | - go: tip 14 | 15 | install: 16 | - go get golang.org/x/lint/golint 17 | - export PATH=$GOPATH/bin:$PATH 18 | - go install ./... 19 | 20 | script: 21 | - verify/all.sh -v 22 | - go test ./... 23 | -------------------------------------------------------------------------------- /src/bpm/vendor/go.uber.org/automaxprocs/.codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: 80..100 3 | round: down 4 | precision: 2 5 | 6 | status: 7 | project: # measuring the overall project coverage 8 | default: # context, you can create multiple ones with custom titles 9 | enabled: yes # must be yes|true to enable this status 10 | target: 90% # specify the target coverage for each commit status 11 | # option: "auto" (must increase from parent commit or pull request base) 12 | # option: "X%" a static target percentage to hit 13 | if_not_found: success # if parent is not found report status as success, error, or failure 14 | if_ci_failed: error # if ci fails report status as success, error, or failure 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/go.uber.org/automaxprocs/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | vendor 10 | 11 | # Architecture specific extensions/prefixes 12 | *.[568vq] 13 | [568vq].out 14 | 15 | *.cgo1.go 16 | *.cgo2.c 17 | _cgo_defun.c 18 | _cgo_gotypes.go 19 | _cgo_export.* 20 | 21 | _testmain.go 22 | 23 | *.exe 24 | *.test 25 | *.prof 26 | *.pprof 27 | *.out 28 | *.log 29 | coverage.txt 30 | 31 | /bin 32 | cover.out 33 | cover.html 34 | -------------------------------------------------------------------------------- /src/bpm/vendor/go.uber.org/mock/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of GoMock authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | # Please keep the list sorted. 10 | 11 | Alex Reece 12 | Google Inc. 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/go.uber.org/mock/gomock/string.go: -------------------------------------------------------------------------------- 1 | package gomock 2 | 3 | import ( 4 | "fmt" 5 | "reflect" 6 | ) 7 | 8 | // getString is a safe way to convert a value to a string for printing results 9 | // If the value is a a mock, getString avoids calling the mocked String() method, 10 | // which avoids potential deadlocks 11 | func getString(x any) string { 12 | if isGeneratedMock(x) { 13 | return fmt.Sprintf("%T", x) 14 | } 15 | if s, ok := x.(fmt.Stringer); ok { 16 | return s.String() 17 | } 18 | return fmt.Sprintf("%v", x) 19 | } 20 | 21 | // isGeneratedMock checks if the given type has a "isgomock" field, 22 | // indicating it is a generated mock. 23 | func isGeneratedMock(x any) bool { 24 | typ := reflect.TypeOf(x) 25 | if typ == nil { 26 | return false 27 | } 28 | if typ.Kind() == reflect.Ptr { 29 | typ = typ.Elem() 30 | } 31 | if typ.Kind() != reflect.Struct { 32 | return false 33 | } 34 | _, isgomock := typ.FieldByName("isgomock") 35 | return isgomock 36 | } 37 | -------------------------------------------------------------------------------- /src/bpm/vendor/go.uber.org/mock/mockgen/gob.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "encoding/gob" 5 | "os" 6 | 7 | "go.uber.org/mock/mockgen/model" 8 | ) 9 | 10 | func gobMode(path string) (*model.Package, error) { 11 | in, err := os.Open(path) 12 | if err != nil { 13 | return nil, err 14 | } 15 | defer in.Close() 16 | var pkg model.Package 17 | if err := gob.NewDecoder(in).Decode(&pkg); err != nil { 18 | return nil, err 19 | } 20 | return &pkg, nil 21 | } 22 | -------------------------------------------------------------------------------- /src/bpm/vendor/go.uber.org/mock/mockgen/version.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package main 16 | 17 | import ( 18 | "fmt" 19 | "log" 20 | "runtime/debug" 21 | ) 22 | 23 | func printModuleVersion() { 24 | if bi, exists := debug.ReadBuildInfo(); exists { 25 | fmt.Println(bi.Main.Version) 26 | } else { 27 | log.Printf("No version information found. Make sure to use " + 28 | "GO111MODULE=on when running 'go get' in order to use specific " + 29 | "version of the binary.") 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | type Signal = syscall.Signal 12 | type Errno = syscall.Errno 13 | type SysProcAttr = syscall.SysProcAttr 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 11 | // 12 | 13 | TEXT ·syscall6(SB),NOSPLIT,$0-88 14 | JMP syscall·syscall6(SB) 15 | 16 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSyscall6(SB) 18 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_bsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for 386 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for AMD64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_bsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | B syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | B syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | B syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | B syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | B syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ppc64, BSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for RISCV64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for mips64, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/auxv_unsupported.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.21 && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Auxv() ([][2]uintptr, error) { 12 | return nil, syscall.ENOTSUP 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/bluetooth_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Bluetooth sockets and messages 6 | 7 | package unix 8 | 9 | // Bluetooth Protocols 10 | const ( 11 | BTPROTO_L2CAP = 0 12 | BTPROTO_HCI = 1 13 | BTPROTO_SCO = 2 14 | BTPROTO_RFCOMM = 3 15 | BTPROTO_BNEP = 4 16 | BTPROTO_CMTP = 5 17 | BTPROTO_HIDP = 6 18 | BTPROTO_AVDTP = 7 19 | ) 20 | 21 | const ( 22 | HCI_CHANNEL_RAW = 0 23 | HCI_CHANNEL_USER = 1 24 | HCI_CHANNEL_MONITOR = 2 25 | HCI_CHANNEL_CONTROL = 3 26 | HCI_CHANNEL_LOGGING = 4 27 | ) 28 | 29 | // Socketoption Level 30 | const ( 31 | SOL_BLUETOOTH = 0x112 32 | SOL_HCI = 0x0 33 | SOL_L2CAP = 0x6 34 | SOL_RFCOMM = 0x12 35 | SOL_SCO = 0x11 36 | ) 37 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/dev_aix_ppc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev >> 16) & 0xffff) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32(dev & 0xffff) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | return uint64(((major) << 16) | (minor)) 26 | } 27 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc64 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev & 0x3fffffff00000000) >> 32) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32((dev & 0x00000000ffffffff) >> 0) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | var DEVNO64 uint64 26 | DEVNO64 = 0x8000000000000000 27 | return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/dev_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in Darwin's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a Darwin device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev >> 24) & 0xff) 13 | } 14 | 15 | // Minor returns the minor component of a Darwin device number. 16 | func Minor(dev uint64) uint32 { 17 | return uint32(dev & 0xffffff) 18 | } 19 | 20 | // Mkdev returns a Darwin device number generated from the given major and minor 21 | // components. 22 | func Mkdev(major, minor uint32) uint64 { 23 | return (uint64(major) << 24) | uint64(minor) 24 | } 25 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/dev_netbsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in NetBSD's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a NetBSD device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev & 0x000fff00) >> 8) 13 | } 14 | 15 | // Minor returns the minor component of a NetBSD device number. 16 | func Minor(dev uint64) uint32 { 17 | minor := uint32((dev & 0x000000ff) >> 0) 18 | minor |= uint32((dev & 0xfff00000) >> 12) 19 | return minor 20 | } 21 | 22 | // Mkdev returns a NetBSD device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | dev := (uint64(major) << 8) & 0x000fff00 26 | dev |= (uint64(minor) << 12) & 0xfff00000 27 | dev |= (uint64(minor) << 0) & 0x000000ff 28 | return dev 29 | } 30 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/dev_openbsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in OpenBSD's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of an OpenBSD device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev & 0x0000ff00) >> 8) 13 | } 14 | 15 | // Minor returns the minor component of an OpenBSD device number. 16 | func Minor(dev uint64) uint32 { 17 | minor := uint32((dev & 0x000000ff) >> 0) 18 | minor |= uint32((dev & 0xffff0000) >> 8) 19 | return minor 20 | } 21 | 22 | // Mkdev returns an OpenBSD device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | dev := (uint64(major) << 8) & 0x0000ff00 26 | dev |= (uint64(minor) << 8) & 0xffff0000 27 | dev |= (uint64(minor) << 0) & 0x000000ff 28 | return dev 29 | } 30 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/dev_zos.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build zos && s390x 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by z/OS. 9 | // 10 | // The information below is extracted and adapted from macros. 11 | 12 | package unix 13 | 14 | // Major returns the major component of a z/OS device number. 15 | func Major(dev uint64) uint32 { 16 | return uint32((dev >> 16) & 0x0000FFFF) 17 | } 18 | 19 | // Minor returns the minor component of a z/OS device number. 20 | func Minor(dev uint64) uint32 { 21 | return uint32(dev & 0x0000FFFF) 22 | } 23 | 24 | // Mkdev returns a z/OS device number generated from the given major and minor 25 | // components. 26 | func Mkdev(major, minor uint32) uint64 { 27 | return (uint64(major) << 16) | uint64(minor) 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 6 | 7 | package unix 8 | 9 | const isBigEndian = true 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh 6 | 7 | package unix 8 | 9 | const isBigEndian = false 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // Unix environment variables. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | 29 | func Unsetenv(key string) error { 30 | return syscall.Unsetenv(key) 31 | } 32 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/fcntl_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | import "unsafe" 8 | 9 | // FcntlInt performs a fcntl syscall on fd with the provided command and argument. 10 | func FcntlInt(fd uintptr, cmd, arg int) (int, error) { 11 | return fcntl(int(fd), cmd, arg) 12 | } 13 | 14 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. 15 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { 16 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) 17 | return err 18 | } 19 | 20 | // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. 21 | func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { 22 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) 23 | return err 24 | } 25 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/fdset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | // Set adds fd to the set fds. 10 | func (fds *FdSet) Set(fd int) { 11 | fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) 12 | } 13 | 14 | // Clear removes fd from the set fds. 15 | func (fds *FdSet) Clear(fd int) { 16 | fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) 17 | } 18 | 19 | // IsSet returns whether fd is in the set fds. 20 | func (fds *FdSet) IsSet(fd int) bool { 21 | return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 22 | } 23 | 24 | // Zero clears the set fds. 25 | func (fds *FdSet) Zero() { 26 | for i := range fds.Bits { 27 | fds.Bits[i] = 0 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gccgo && linux && amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/mmap_nomremap.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | var mapper = &mmapper{ 10 | active: make(map[*byte][]byte), 11 | mmap: mmap, 12 | munmap: munmap, 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/pagesize_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // For Unix, get the pagesize from the runtime. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getpagesize() int { 14 | return syscall.Getpagesize() 15 | } 16 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/ptrace_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 10 | return ptrace1(request, pid, addr, data) 11 | } 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/ptrace_ios.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 10 | return ENOTSUP 11 | } 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && race) || (linux && race) || (freebsd && race) 6 | 7 | package unix 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos 6 | 7 | package unix 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/readdirent_getdents.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd 6 | 7 | package unix 8 | 9 | // ReadDirent reads directory entries from fd and writes them into buf. 10 | func ReadDirent(fd int, buf []byte) (n int, err error) { 11 | return Getdents(fd, buf) 12 | } 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin || zos 6 | 7 | package unix 8 | 9 | import "unsafe" 10 | 11 | // ReadDirent reads directory entries from fd and writes them into buf. 12 | func ReadDirent(fd int, buf []byte) (n int, err error) { 13 | // Final argument is (basep *uintptr) and the syscall doesn't take nil. 14 | // 64 bits should be enough. (32 bits isn't even on 386). Since the 15 | // actual system call is getdirentries64, 64 is a good guess. 16 | // TODO(rsc): Can we use a single global basep for all calls? 17 | var base = (*uintptr)(unsafe.Pointer(new(uint64))) 18 | return Getdirentries(fd, buf, base) 19 | } 20 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | // Round the length of a raw sockaddr up to align it properly. 8 | func cmsgAlignOf(salen int) int { 9 | salign := SizeofPtr 10 | if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { 11 | // 64-bit Dragonfly before the September 2019 ABI changes still requires 12 | // 32-bit aligned access to network subsystem. 13 | salign = 4 14 | } 15 | return (salen + salign - 1) & ^(salign - 1) 16 | } 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_hurd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build hurd 6 | 7 | package unix 8 | 9 | /* 10 | #include 11 | int ioctl(int, unsigned long int, uintptr_t); 12 | */ 13 | import "C" 14 | import "unsafe" 15 | 16 | func ioctl(fd int, req uint, arg uintptr) (err error) { 17 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) 18 | if r0 == -1 && er != nil { 19 | err = er 20 | } 21 | return 22 | } 23 | 24 | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { 25 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg))) 26 | if r0 == -1 && er != nil { 27 | err = er 28 | } 29 | return 30 | } 31 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_hurd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && hurd 6 | 7 | package unix 8 | 9 | const ( 10 | TIOCGETA = 0x62251713 11 | ) 12 | 13 | type Winsize struct { 14 | Row uint16 15 | Col uint16 16 | Xpixel uint16 17 | Ypixel uint16 18 | } 19 | 20 | type Termios struct { 21 | Iflag uint32 22 | Oflag uint32 23 | Cflag uint32 24 | Lflag uint32 25 | Cc [20]uint8 26 | Ispeed int32 27 | Ospeed int32 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) 6 | 7 | package unix 8 | 9 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 10 | // values. 11 | 12 | //sys Alarm(seconds uint) (remaining uint, err error) 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && linux && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //go:noescape 12 | func gettimeofday(tv *Timeval) (err syscall.Errno) 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_linux_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc 6 | 7 | package unix 8 | 9 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 10 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 11 | 12 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 13 | // fail. 14 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc && 386 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | 15 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 16 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && gc && linux 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gccgo && arm 6 | 7 | package unix 8 | 9 | import ( 10 | "syscall" 11 | "unsafe" 12 | ) 13 | 14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { 15 | var newoffset int64 16 | offsetLow := uint32(offset & 0xffffffff) 17 | offsetHigh := uint32((offset >> 32) & 0xffffffff) 18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) 19 | return newoffset, err 20 | } 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && solaris 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func (iov *Iovec) SetLen(length int) { 18 | iov.Len = uint64(length) 19 | } 20 | 21 | func (msghdr *Msghdr) SetIovlen(length int) { 22 | msghdr.Iovlen = int32(length) 23 | } 24 | 25 | func (cmsg *Cmsghdr) SetLen(length int) { 26 | cmsg.Len = uint32(length) 27 | } 28 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_unix_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 12 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 13 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 14 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 15 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (ppc64le || ppc64) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 12 | return syscall.Syscall(trap, a1, a2, a3) 13 | } 14 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 15 | return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) 16 | } 17 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 18 | return syscall.RawSyscall(trap, a1, a2, a3) 19 | } 20 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 21 | return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) 22 | } 23 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/sysvshm_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux 6 | 7 | package unix 8 | 9 | import "runtime" 10 | 11 | // SysvShmCtl performs control operations on the shared memory segment 12 | // specified by id. 13 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 14 | if runtime.GOARCH == "arm" || 15 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { 16 | cmd |= ipc_64 17 | } 18 | 19 | return shmctl(id, cmd, desc) 20 | } 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && !ios) || zos 6 | 7 | package unix 8 | 9 | // SysvShmCtl performs control operations on the shared memory segment 10 | // specified by id. 11 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 12 | return shmctl(id, cmd, desc) 13 | } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/vgetrandom_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && go1.24 6 | 7 | package unix 8 | 9 | import _ "unsafe" 10 | 11 | //go:linkname vgetrandom runtime.vgetrandom 12 | //go:noescape 13 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !linux || !go1.24 6 | 7 | package unix 8 | 9 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) { 10 | return -1, false 11 | } 12 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go: -------------------------------------------------------------------------------- 1 | // Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT. 2 | 3 | package unix 4 | 5 | import "unsafe" 6 | 7 | // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries. 8 | func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error { 9 | iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))} 10 | return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 11 | } 12 | 13 | // PtraceSetRegSetArm64 sets the registers used by arm64 binaries. 14 | func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error { 15 | iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))} 16 | return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 17 | } 18 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | import "syscall" 10 | 11 | type Errno = syscall.Errno 12 | type SysProcAttr = syscall.SysProcAttr 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/eventlog.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | const ( 10 | EVENTLOG_SUCCESS = 0 11 | EVENTLOG_ERROR_TYPE = 1 12 | EVENTLOG_WARNING_TYPE = 2 13 | EVENTLOG_INFORMATION_TYPE = 4 14 | EVENTLOG_AUDIT_SUCCESS = 8 15 | EVENTLOG_AUDIT_FAILURE = 16 16 | ) 17 | 18 | //sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW 19 | //sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource 20 | //sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/mksyscall.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build generate 6 | 7 | package windows 8 | 9 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && race 6 | 7 | package windows 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && !race 6 | 7 | package windows 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 10 | if val < 0 { 11 | return "-" + itoa(-val) 12 | } 13 | var buf [32]byte // big enough for int64 14 | i := len(buf) - 1 15 | for val >= 10 { 16 | buf[i] = byte(val%10 + '0') 17 | i-- 18 | val /= 10 19 | } 20 | buf[i] = byte(val + '0') 21 | return string(buf[i:]) 22 | } 23 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/types_windows_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | Description [WSADESCRIPTION_LEN + 1]byte 11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 12 | MaxSockets uint16 13 | MaxUdpDg uint16 14 | VendorInfo *byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Port uint16 21 | Proto *byte 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | _ uint32 // pad to 8 byte boundary 35 | } 36 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/types_windows_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/types_windows_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | Description [WSADESCRIPTION_LEN + 1]byte 11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 12 | MaxSockets uint16 13 | MaxUdpDg uint16 14 | VendorInfo *byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Port uint16 21 | Proto *byte 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | _ uint32 // pad to 8 byte boundary 35 | } 36 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/sys/windows/types_windows_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/text/encoding/japanese/all.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package japanese 6 | 7 | import ( 8 | "golang.org/x/text/encoding" 9 | ) 10 | 11 | // All is a list of all defined encodings in this package. 12 | var All = []encoding.Encoding{EUCJP, ISO2022JP, ShiftJIS} 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package simplifiedchinese 6 | 7 | import ( 8 | "golang.org/x/text/encoding" 9 | ) 10 | 11 | // All is a list of all defined encodings in this package. 12 | var All = []encoding.Encoding{GB18030, GBK, HZGB2312} 13 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/text/internal/language/common.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | package language 4 | 5 | // This file contains code common to the maketables.go and the package code. 6 | 7 | // AliasType is the type of an alias in AliasMap. 8 | type AliasType int8 9 | 10 | const ( 11 | Deprecated AliasType = iota 12 | Macro 13 | Legacy 14 | 15 | AliasTypeUnknown AliasType = -1 16 | ) 17 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/text/internal/language/compact.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package language 6 | 7 | // CompactCoreInfo is a compact integer with the three core tags encoded. 8 | type CompactCoreInfo uint32 9 | 10 | // GetCompactCore generates a uint32 value that is guaranteed to be unique for 11 | // different language, region, and script values. 12 | func GetCompactCore(t Tag) (cci CompactCoreInfo, ok bool) { 13 | if t.LangID > langNoIndexOffset { 14 | return 0, false 15 | } 16 | cci |= CompactCoreInfo(t.LangID) << (8 + 12) 17 | cci |= CompactCoreInfo(t.ScriptID) << 12 18 | cci |= CompactCoreInfo(t.RegionID) 19 | return cci, true 20 | } 21 | 22 | // Tag generates a tag from c. 23 | func (c CompactCoreInfo) Tag() Tag { 24 | return Tag{ 25 | LangID: Language(c >> 20), 26 | RegionID: Region(c & 0x3ff), 27 | ScriptID: Script(c>>12) & 0xff, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/text/internal/language/coverage.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package language 6 | 7 | // BaseLanguages returns the list of all supported base languages. It generates 8 | // the list by traversing the internal structures. 9 | func BaseLanguages() []Language { 10 | base := make([]Language, 0, NumLanguages) 11 | for i := 0; i < langNoIndexOffset; i++ { 12 | // We included "und" already for the value 0. 13 | if i != nonCanonicalUnd { 14 | base = append(base, Language(i)) 15 | } 16 | } 17 | i := langNoIndexOffset 18 | for _, v := range langNoIndex { 19 | for k := 0; k < 8; k++ { 20 | if v&1 == 1 { 21 | base = append(base, Language(i)) 22 | } 23 | v >>= 1 24 | i++ 25 | } 26 | } 27 | return base 28 | } 29 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/go/ast/astutil/util.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package astutil 6 | 7 | import "go/ast" 8 | 9 | // Unparen returns e with any enclosing parentheses stripped. 10 | // Deprecated: use [ast.Unparen]. 11 | // 12 | //go:fix inline 13 | func Unparen(e ast.Expr) ast.Expr { return ast.Unparen(e) } 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/go/types/typeutil/imports.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package typeutil 6 | 7 | import "go/types" 8 | 9 | // Dependencies returns all dependencies of the specified packages. 10 | // 11 | // Dependent packages appear in topological order: if package P imports 12 | // package Q, Q appears earlier than P in the result. 13 | // The algorithm follows import statements in the order they 14 | // appear in the source code, so the result is a total order. 15 | func Dependencies(pkgs ...*types.Package) []*types.Package { 16 | var result []*types.Package 17 | seen := make(map[*types.Package]bool) 18 | var visit func(pkgs []*types.Package) 19 | visit = func(pkgs []*types.Package) { 20 | for _, p := range pkgs { 21 | if !seen[p] { 22 | seen[p] = true 23 | visit(p.Imports()) 24 | result = append(result, p) 25 | } 26 | } 27 | } 28 | visit(pkgs) 29 | return result 30 | } 31 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/event/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package event provides a set of packages that cover the main 6 | // concepts of telemetry in an implementation agnostic way. 7 | package event 8 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/event/keys/standard.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package keys 6 | 7 | var ( 8 | // Msg is a key used to add message strings to label lists. 9 | Msg = NewString("message", "a readable message") 10 | // Label is a key used to indicate an event adds labels to the context. 11 | Label = NewTag("label", "a label context marker") 12 | // Start is used for things like traces that have a name. 13 | Start = NewString("start", "span start") 14 | // Metric is a key used to indicate an event records metrics. 15 | End = NewTag("end", "a span end marker") 16 | // Metric is a key used to indicate an event records metrics. 17 | Detach = NewTag("detach", "a span detach marker") 18 | // Err is a key used to add error values to label lists. 19 | Err = NewError("error", "an error that occurred") 20 | // Metric is a key used to indicate an event records metrics. 21 | Metric = NewTag("metric", "a metric event marker") 22 | ) 23 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/event/keys/util.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package keys 6 | 7 | import ( 8 | "sort" 9 | "strings" 10 | ) 11 | 12 | // Join returns a canonical join of the keys in S: 13 | // a sorted comma-separated string list. 14 | func Join[S ~[]T, T ~string](s S) string { 15 | strs := make([]string, 0, len(s)) 16 | for _, v := range s { 17 | strs = append(strs, string(v)) 18 | } 19 | sort.Strings(strs) 20 | return strings.Join(strs, ",") 21 | } 22 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/gcimporter/support.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package gcimporter 6 | 7 | import ( 8 | "bufio" 9 | "io" 10 | "strconv" 11 | "strings" 12 | ) 13 | 14 | // Copy of $GOROOT/src/cmd/internal/archive.ReadHeader. 15 | func readArchiveHeader(b *bufio.Reader, name string) int { 16 | // architecture-independent object file output 17 | const HeaderSize = 60 18 | 19 | var buf [HeaderSize]byte 20 | if _, err := io.ReadFull(b, buf[:]); err != nil { 21 | return -1 22 | } 23 | aname := strings.Trim(string(buf[0:16]), " ") 24 | if !strings.HasPrefix(aname, name) { 25 | return -1 26 | } 27 | asize := strings.Trim(string(buf[48:58]), " ") 28 | i, _ := strconv.Atoi(asize) 29 | return i 30 | } 31 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/gocommand/invoke_notunix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !unix 6 | 7 | package gocommand 8 | 9 | import "os" 10 | 11 | // sigStuckProcess is the signal to send to kill a hanging subprocess. 12 | // On Unix we send SIGQUIT, but on non-Unix we only have os.Kill. 13 | var sigStuckProcess = os.Kill 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/gocommand/invoke_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build unix 6 | 7 | package gocommand 8 | 9 | import "syscall" 10 | 11 | // Sigstuckprocess is the signal to send to kill a hanging subprocess. 12 | // Send SIGQUIT to get a stack trace. 13 | var sigStuckProcess = syscall.SIGQUIT 14 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/modindex/types.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package modindex 6 | 7 | import ( 8 | "strings" 9 | ) 10 | 11 | // some special types to avoid confusions 12 | 13 | // distinguish various types of directory names. It's easy to get confused. 14 | type Abspath string // absolute paths 15 | type Relpath string // paths with GOMODCACHE prefix removed 16 | 17 | func toRelpath(cachedir Abspath, s string) Relpath { 18 | if strings.HasPrefix(s, string(cachedir)) { 19 | if s == string(cachedir) { 20 | return Relpath("") 21 | } 22 | return Relpath(s[len(cachedir)+1:]) 23 | } 24 | return Relpath(s) 25 | } 26 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/packagesinternal/packages.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package packagesinternal exposes internal-only fields from go/packages. 6 | package packagesinternal 7 | 8 | var GetDepsErrors = func(p any) []*PackageError { return nil } 9 | 10 | type PackageError struct { 11 | ImportStack []string // shortest path from package named on command line to this one 12 | Pos string // position of error (if present, file:line:col) 13 | Err string // the error itself 14 | } 15 | 16 | var TypecheckCgo int 17 | var DepsErrors int // must be set as a LoadMode to call GetDepsErrors 18 | 19 | var SetModFlag = func(config any, value string) {} 20 | var SetModFile = func(config any, value string) {} 21 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/pkgbits/flags.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | const ( 8 | flagSyncMarkers = 1 << iota // file format contains sync markers 9 | ) 10 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/pkgbits/reloc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | // A RelocKind indicates a particular section within a unified IR export. 8 | type RelocKind int32 9 | 10 | // An Index represents a bitstream element index within a particular 11 | // section. 12 | type Index int32 13 | 14 | // A relocEnt (relocation entry) is an entry in an element's local 15 | // reference table. 16 | // 17 | // TODO(mdempsky): Rename this too. 18 | type RelocEnt struct { 19 | Kind RelocKind 20 | Idx Index 21 | } 22 | 23 | // Reserved indices within the meta relocation section. 24 | const ( 25 | PublicRootIdx Index = 0 26 | PrivateRootIdx Index = 1 27 | ) 28 | 29 | const ( 30 | RelocString RelocKind = iota 31 | RelocMeta 32 | RelocPosBase 33 | RelocPkg 34 | RelocName 35 | RelocType 36 | RelocObj 37 | RelocObjExt 38 | RelocObjDict 39 | RelocBody 40 | 41 | numRelocs = iota 42 | ) 43 | -------------------------------------------------------------------------------- /src/bpm/vendor/golang.org/x/tools/internal/pkgbits/support.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | import "fmt" 8 | 9 | func assert(b bool) { 10 | if !b { 11 | panic("assertion failed") 12 | } 13 | } 14 | 15 | func panicf(format string, args ...any) { 16 | panic(fmt.Errorf(format, args...)) 17 | } 18 | -------------------------------------------------------------------------------- /src/bpm/vendor/gopkg.in/yaml.v3/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /src/version: -------------------------------------------------------------------------------- 1 | 1.4.20+dev --------------------------------------------------------------------------------