【No such target "boost" or opencv】

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04):
Apollo installed from (source or binary):
Apollo version (6.0):
Output of apollo.sh config if on master branch:

Steps to reproduce the issue:

Please use bullet points and include as much details as possible:

Supporting materials (screenshots, command lines, code/script snippets):
Hello, when I build obstacle_detection:obstacle_detection. I meet the question. Please give me instructions. Thanks.

The build file below. Do I need to modify?

you should specify opencv library which used in Unit Test.
Such as @opencv//:core , @opencv//:highgui ,and so on.

@Xxfore Thankyou for your reply. I solve this problem, but I meet another problem when I build
root@in-dev-docker:/apollo# bazel build  modules/perception/camera/tools/obstacle_detection:obstacle_detection (00:57:56) INFO: Current date is 2022-01-07 (00:57:56) INFO: Analyzed target //modules/perception/camera/tools/obstacle_detection:obstacle_detection (0 packages loaded, 0 targets configured). (00:57:56) INFO: Found 1 target... (00:57:58) ERROR: /apollo/modules/perception/camera/common/BUILD:27:11: C++ compilation of rule '//modules/perception/camera/common:data_provider' failed (Exit 1) modules/perception/camera/common/data_provider.cc: In member function 'bool apollo::perception::camera::DataProvider::Init(const apollo::perception::camera::DataProvider::InitOptions&)': modules/perception/camera/common/data_provider.cc:34:7: error: 'cudaSetDevice' was not declared in this scope    if (cudaSetDevice(device_id_) != cudaSuccess) {        ^~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc:34:36: error: 'cudaSuccess' was not declared in this scope    if (cudaSetDevice(device_id_) != cudaSuccess) {                                     ^~~~~~~~~~~ modules/perception/camera/common/data_provider.cc:34:36: note: suggested alternative: 'euidaccess'    if (cudaSetDevice(device_id_) != cudaSuccess) {                                     ^~~~~~~~~~~                                     euidaccess modules/perception/camera/common/data_provider.cc: In member function 'bool apollo::perception::camera::DataProvider::FillImageData(int, int, const uint8_t*, const string&)': modules/perception/camera/common/data_provider.cc:118:7: error: 'cudaSetDevice' was not declared in this scope    if (cudaSetDevice(device_id_) != cudaSuccess) {        ^~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc:118:36: error: 'cudaSuccess' was not declared in this scope    if (cudaSetDevice(device_id_) != cudaSuccess) {                                     ^~~~~~~~~~~ modules/perception/camera/common/data_provider.cc:118:36: note: suggested alternative: 'euidaccess'    if (cudaSetDevice(device_id_) != cudaSuccess) {                                     ^~~~~~~~~~~                                     euidaccess modules/perception/camera/common/data_provider.cc:136:50: error: 'using element_type = class apollo::perception::base::Image8U {aka class apollo::perception::base::Image8U}' has no member named 'count'      memcpy(rgb_->mutable_cpu_data(), data, rgb_->count() * sizeof(data[0]));                                                   ^~~~~ modules/perception/camera/common/data_provider.cc:140:50: error: 'using element_type = class apollo::perception::base::Image8U {aka class apollo::perception::base::Image8U}' has no member named 'count'      memcpy(bgr_->mutable_cpu_data(), data, bgr_->count() * sizeof(data[0]));                                                   ^~~~~ modules/perception/camera/common/data_provider.cc:144:52: error: 'using element_type = class apollo::perception::base::Image8U {aka class apollo::perception::base::Image8U}' has no member named 'count'      memcpy(gray_->mutable_cpu_data(), data, gray_->count() * sizeof(data[0]));                                                     ^~~~~ modules/perception/camera/common/data_provider.cc: In member function 'bool apollo::perception::camera::DataProvider::GetImageBlob(const apollo::perception::camera::DataProvider::ImageOptions&, apollo::perception::base::Blob<unsigned char>*)': modules/perception/camera/common/data_provider.cc:227:3: error: 'NppiSize' was not declared in this scope    NppiSize roi;    ^~~~~~~~ modules/perception/camera/common/data_provider.cc:228:3: error: 'roi' was not declared in this scope    roi.height = image.rows();    ^~~ modules/perception/camera/common/data_provider.cc:228:3: note: suggested alternative: 'atoi'    roi.height = image.rows();    ^~~    atoi modules/perception/camera/common/data_provider.cc:230:61: error: no matching function for call to 'apollo::perception::base::Blob<unsigned char>::Reshape(<brace-enclosed initializer list>)'    blob->Reshape({1, roi.height, roi.width, image.channels()});                                                              ^ In file included from ./modules/perception/camera/common/data_provider.h:21:0,                  from modules/perception/camera/common/data_provider.cc:16: ./modules/perception/base/blob.h:107:8: note: candidate: void apollo::perception::base::Blob<Dtype>::Reshape(int, int, int, int) [with Dtype = unsigned char]    void Reshape(const int num, const int channels, const int height,         ^~~~~~~ ./modules/perception/base/blob.h:107:8: note:   candidate expects 4 arguments, 1 provided ./modules/perception/base/blob.h:123:8: note: candidate: void apollo::perception::base::Blob<Dtype>::Reshape(const std::vector<int>&) [with Dtype = unsigned char]    void Reshape(const std::vector<int>& shape);         ^~~~~~~ ./modules/perception/base/blob.h:123:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::vector<int>&' modules/perception/camera/common/data_provider.cc:232:5: error: 'nppiCopy_8u_C1R' was not declared in this scope      nppiCopy_8u_C1R(image.gpu_data(), image.width_step(),      ^~~~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc:236:5: error: 'nppiCopy_8u_C3R' was not declared in this scope      nppiCopy_8u_C3R(image.gpu_data(), image.width_step(),      ^~~~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc: In member function 'bool apollo::perception::camera::DataProvider::to_gray_image()': modules/perception/camera/common/data_provider.cc:282:5: error: 'NppiSize' was not declared in this scope      NppiSize roi;      ^~~~~~~~ modules/perception/camera/common/data_provider.cc:283:5: error: 'roi' was not declared in this scope      roi.height = src_height_;      ^~~ modules/perception/camera/common/data_provider.cc:283:5: note: suggested alternative: 'atoi'      roi.height = src_height_;      ^~~      atoi modules/perception/camera/common/data_provider.cc:286:7: error: 'Npp32f' was not declared in this scope        Npp32f coeffs[] = {0.114f, 0.587f, 0.299f};        ^~~~~~ modules/perception/camera/common/data_provider.cc:286:7: note: suggested alternative: 'exp2f'        Npp32f coeffs[] = {0.114f, 0.587f, 0.299f};        ^~~~~~        exp2f modules/perception/camera/common/data_provider.cc:289:37: error: 'coeffs' was not declared in this scope                                 roi, coeffs);                                      ^~~~~~ modules/perception/camera/common/data_provider.cc:289:37: note: suggested alternative: 'cosf64'                                 roi, coeffs);                                      ^~~~~~                                      cosf64 modules/perception/camera/common/data_provider.cc:287:7: error: 'nppiColorToGray_8u_C3C1R' was not declared in this scope        nppiColorToGray_8u_C3C1R(bgr_->gpu_data(), bgr_->width_step(),        ^~~~~~~~~~~~~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc:292:7: error: 'Npp32f' was not declared in this scope        Npp32f coeffs[] = {0.299f, 0.587f, 0.114f};        ^~~~~~ modules/perception/camera/common/data_provider.cc:292:7: note: suggested alternative: 'exp2f'        Npp32f coeffs[] = {0.299f, 0.587f, 0.114f};        ^~~~~~        exp2f modules/perception/camera/common/data_provider.cc:295:37: error: 'coeffs' was not declared in this scope                                 roi, coeffs);                                      ^~~~~~ modules/perception/camera/common/data_provider.cc:295:37: note: suggested alternative: 'cosf64'                                 roi, coeffs);                                      ^~~~~~                                      cosf64 modules/perception/camera/common/data_provider.cc:293:7: error: 'nppiColorToGray_8u_C3C1R' was not declared in this scope        nppiColorToGray_8u_C3C1R(rgb_->gpu_data(), rgb_->width_step(),        ^~~~~~~~~~~~~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc: In member function 'bool apollo::perception::camera::DataProvider::to_rgb_image()': modules/perception/camera/common/data_provider.cc:307:5: error: 'NppiSize' was not declared in this scope      NppiSize roi;      ^~~~~~~~ modules/perception/camera/common/data_provider.cc:308:5: error: 'roi' was not declared in this scope      roi.height = src_height_;      ^~~ modules/perception/camera/common/data_provider.cc:308:5: note: suggested alternative: 'atoi'      roi.height = src_height_;      ^~~      atoi modules/perception/camera/common/data_provider.cc:313:7: error: 'nppiSwapChannels_8u_C3R' was not declared in this scope        nppiSwapChannels_8u_C3R(bgr_->gpu_data(), bgr_->width_step(),        ^~~~~~~~~~~~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc:318:7: error: 'nppiDup_8u_C1C3R' was not declared in this scope        nppiDup_8u_C1C3R(gray_->gpu_data(), gray_->width_step(),        ^~~~~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc: In member function 'bool apollo::perception::camera::DataProvider::to_bgr_image()': modules/perception/camera/common/data_provider.cc:331:5: error: 'NppiSize' was not declared in this scope      NppiSize roi;      ^~~~~~~~ modules/perception/camera/common/data_provider.cc:332:5: error: 'roi' was not declared in this scope      roi.height = src_height_;      ^~~ modules/perception/camera/common/data_provider.cc:332:5: note: suggested alternative: 'atoi'      roi.height = src_height_;      ^~~      atoi modules/perception/camera/common/data_provider.cc:336:7: error: 'nppiSwapChannels_8u_C3R' was not declared in this scope        nppiSwapChannels_8u_C3R(rgb_->gpu_data(), rgb_->width_step(),        ^~~~~~~~~~~~~~~~~~~~~~~ modules/perception/camera/common/data_provider.cc:341:7: error: 'nppiDup_8u_C1C3R' was not declared in this scope        nppiDup_8u_C1C3R(gray_->gpu_data(), gray_->width_step(),

Have you changed the file in data_provider? the error indicates that the declaration of cudaSetDevice is missing.
"nppi.h" implicitly includes cuda_runtime.h, so I don't know if you changed anything and cause this problem.

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.

@shandaolu Hi, I have encountered the same problem. Did you solve it?

Hi @shandaolu , I am facing the same issue, was wondering, did you manage to solve it?


Add quotes

I would suggest adding the following quotes:

"CSS framework is optional [because vanilla css is good practice]"
"Questions, concerns, threats, Compliments? no? ok."
“You guys look burnt out”

Added!


Code 404 error when attempting to enable Request-Sync and register devices

I am trying to model a smart home environment following the ReadMe instructions here. When I attempt to run Request-Sync I get a 404 error: request-sync response 404 Not Found.
Could this be to do with the AgentUserId? I am unsure how the AgentUserID should be generated, can any string be specified? Or the problem could be unrelated to AgentUserID.
Thank you for any help.

Does the Request Sync actually update your devices?
Your agentUserId should be an id that you have returned before in the original SYNC response. It can be any identifier on your side, as long as it is a unique identifier for your OAuth accounts.

This is the original SYNC request and response for user id 1234 (the fake user rick oldman):
curl -i -s -k -X POST -H "Content-Type: application/json" -d "{agent_user_id: "1234"}"
"https://homegraph.googleapis.com/v1/devices:requestSync?key=AIzaSyDsIf7FIL99Hnmlpuiw6zZH387fvReAvNA"
And this is is what happens when I log into the web portal as rick oldman and attempt to register a device:
POST REQUEST_SYNC https://homegraph.googleapis.com/v1/devices:requestSync?key=AIzaSyDsIf7FIL99Hnmlpuiw6zZH387fvReAvNA
POST payload: {"method":"POST","headers":{"Content-Type":"application/json"},"body":"{"agentUserId":"1234"}"}
POST /smart-home-api/reset-devices 200 958.479 ms - 2
request-sync response 404 Not Found
POST REQUEST_SYNC https://homegraph.googleapis.com/v1/devices:requestSync?key=AIzaSyDsIf7FIL99Hnmlpuiw6zZH387fvReAvNA
POST payload: {"method":"POST","headers":{"Content-Type":"application/json"},"body":"{"agentUserId":"1234"}"}
POST /smart-home-api/register-device 200 58.999 ms - 505
smartHomeExec executedDevice {"0":{"states":{"online":true,"on":false},"properties":{"type":"action.devices.types.CAMERA","traits":["action.devices.traits.CameraStream"],"name":{"defaultNames":["Smart Camera 0"],"name":"Smart Camera 0","nicknames":["backyard camera"]},"willReportState":false,"attributes":{"cameraStreamSupportedProtocols":["mp4","hls"]},"deviceInfo":{"manufacturer":"Smart Home Provider","model":"g1340","swVersion":"1.0.31","hwVersion":"1.1"},"customData":{"smartHomeProviderId":"fiGgZ0vrhFRgwf5XJkna2GRwO8z80J"}}}}
POST /smart-home-api/exec 200 0.816 ms - 505
request-sync response 404 Not Found
I am quite new to this and may be misunderstanding what I need to do.
Thank you again for any help.

Have you already done the account linking through the Google Assistant settings on your phone?

I have copied the auth and token URLs generated when I run npm start into the Account Linking tab for my project on the Actions on Google console, but I have not done any account linking via the Google Assistant settings on my phone. Is this required?
The URLs for the app seem to change every time I run npm start.

You will have to go through your Assistant settings to link the Smart Home cloud to your Google account. Then you can use the Assistant to control the devices.
The sample uses ngrok, which creates a new URL each time you run the sample. You can start the server in your terminal and then make changes on the frontend if necessary.

I have attempted the account linking via Assistant settings on my phone.
My test app was initially on the list of available Actions in the Assistant - I first attempted Account Linking from there, but it was not successful (nothing happened when I clicked on 'Link'). My app now seems to have disappeared from the list of available Actions again!
I secondly also tried to access my test app on my phone by adding it as a device via the Home Control settings. My app is there as an available device, and login as Rick Oldman was successful, but I then received an error message on the phone 'Your settings could not be updated". The corresponding error message on the terminal of the VM where I am running the sample is: 'TypeError: Cannot convert undefined or null to object'.
I am unsure whether I needed to made changes to the sample code to enable it to respond to sync, query and exec requests, or should the sample just run as it is?

The flow in this sample is:

Open the sample web app in your browser and log in. You'll see no devices.
Link account in your phone

Otherwise the Smart Home cloud account will not exist and cause the linking to fail.

Thank you it is working now


Proud rabbit

Pull Request

Pull Request (PR) description

Task list

[X] The PR represents a single logical change. i.e. Cosmetic updates should go in different PRs.
[X] Added an entry under the Unreleased section of in the CHANGELOG.md as per format.
[X] Local clean build passes without issue or fail tests (build.ps1 -ResolveDependency).
[X] Resource documentation added/updated in README.md.
[X] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[X] Comment-based help added/updated.
[X] Localization strings added/updated in all localization files as appropriate.
[X] Examples appropriately added/updated.
[X] Unit tests added/updated. See DSC Resource Testing Guidelines.
[X] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[X] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

First release candidate


Error running make test -- registry/remote/auth/challenge.go:103:19: undefined: strconv.QuotedPrefix

Repro
To allow easy reproduction of this error, please use the following makefile (section 1); place it in a directory such as /tmp/repro, and run make (second section).

Resolving deltas: 100% (1622/1622), done.
cd oras-go && /home/ntd/go/bin/go1.18 env -w GOPROXY=direct
cd oras-go && /home/ntd/go/bin/go1.18 mod vendor -v
# github.com/opencontainers/distribution-spec/specs-go v0.0.0-20220620172159-4ab4752c3b86
## explicit; go 1.15
github.com/opencontainers/distribution-spec/specs-go/v1/extensions
# github.com/opencontainers/go-digest v1.0.0
## explicit; go 1.13
github.com/opencontainers/go-digest
# github.com/opencontainers/image-spec v1.0.2
## explicit
github.com/opencontainers/image-spec/specs-go
github.com/opencontainers/image-spec/specs-go/v1
# github.com/oras-project/artifacts-spec v1.0.0-rc.1.0.20220707054150-eddd1d8790c9
## explicit; go 1.17
github.com/oras-project/artifacts-spec/specs-go/v1
# golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
## explicit
golang.org/x/sync/errgroup
golang.org/x/sync/semaphore
cd oras-go && make test
make[2]: Entering directory `/local/home/ntd/repro/oras-go'
go mod vendor
! find . -not -path "./vendor/*" -name "*.go" -type f -exec file "{}" ";" | grep CRLF
! find scripts -name "*.sh" -type f -exec file "{}" ";" | grep CRLF
./scripts/test.sh
+++ dirname ./scripts/test.sh
++ cd ./scripts
++ pwd
+ DIR=/home/ntd/repro/oras-go/scripts
+ cd /home/ntd/repro/oras-go/scripts/../
+ rm -rf .cover/ .test/
+ mkdir .cover/ .test/
+ trap 'rm -rf .test/' EXIT
+ export CGO_ENABLED=0
+ CGO_ENABLED=0
++ go list ./...
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2.cover.out oras.land/oras-go/v2
# oras.land/oras-go/v2/registry/remote/auth
registry/remote/auth/challenge.go:103:19: undefined: strconv.QuotedPrefix
note: module requires Go 1.17
FAIL	oras.land/oras-go/v2 [build failed]
FAIL
+ rm -rf .test/
make[2]: *** [test] Error 2
make[2]: Leaving directory `/local/home/ntd/repro/oras-go'
make[1]: *** [repro] Error 2
make[1]: Leaving directory `/local/home/ntd/repro'
make[1]: Entering directory `/local/home/ntd/repro'
################################################################################ self-identify
uname -a
Linux dev-dsk-ntd-2a-83104eaf.us-west-2.amazon.com 5.4.196-119.356.amzn2int.x86_64 #1 SMP Wed May 25 23:50:13 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[ -e oras-go ] && cd oras-go && git log --oneline -5 || :
4660638 (HEAD -> main, tag: v2.0.0-rc.1, origin/main, origin/HEAD) added one example for downloading artifact reference manifest (#173)
a013ccc Use annotation constant from artifact-spec (#231)
a033de4 Added Tag function to oras/registry.go (#226)
cccb1f6 Skip version checking for pre-RC1 endpoint (#229)
8d8aa55 Add PackArtifact (#223)
/home/ntd/go/bin/go1.18 version
go version go1.18 linux/amd64
/home/ntd/go/bin/go1.18 env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ntd/.cache/go-build"
GOENV="/home/ntd/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/ntd/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/ntd/go"
GOPRIVATE=""
GOPROXY="direct"
GOROOT="/home/ntd/sdk/go1.18"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/ntd/sdk/go1.18/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.18"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3834437992=/tmp/go-build -gno-record-gcc-switches"
make[1]: Leaving directory `/local/home/ntd/repro'
make: *** [_] Error 2
➜  repro

I am running this again now, not sure what has changed, but the repro no longer produces the issue.

➜  oras-go make
make[1]: Entering directory `/tmp/oras-go'
/home/ntd/go/bin/go1.18 env -w GOPROXY=direct
################################################################################ clean
rm -rf oras-go
go clean -modcache -n
rm -rf /home/ntd/go/pkg/mod
################################################################################ repro
git clone https://github.com/oras-project/oras-go.git
Cloning into 'oras-go'...
remote: Enumerating objects: 4217, done.
remote: Counting objects: 100% (94/94), done.
remote: Compressing objects: 100% (71/71), done.
remote: Total 4217 (delta 54), reused 50 (delta 23), pack-reused 4123
Receiving objects: 100% (4217/4217), 5.18 MiB | 10.33 MiB/s, done.
Resolving deltas: 100% (1622/1622), done.
cd oras-go && /home/ntd/go/bin/go1.18 env -w GOPROXY=direct
cd oras-go && /home/ntd/go/bin/go1.18 mod vendor -v
# github.com/opencontainers/distribution-spec/specs-go v0.0.0-20220620172159-4ab4752c3b86
## explicit; go 1.15
github.com/opencontainers/distribution-spec/specs-go/v1/extensions
# github.com/opencontainers/go-digest v1.0.0
## explicit; go 1.13
github.com/opencontainers/go-digest
# github.com/opencontainers/image-spec v1.0.2
## explicit
github.com/opencontainers/image-spec/specs-go
github.com/opencontainers/image-spec/specs-go/v1
# github.com/oras-project/artifacts-spec v1.0.0-rc.1.0.20220707054150-eddd1d8790c9
## explicit; go 1.17
github.com/oras-project/artifacts-spec/specs-go/v1
# golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
## explicit
golang.org/x/sync/errgroup
golang.org/x/sync/semaphore
cd oras-go && make test
make[2]: Entering directory `/tmp/oras-go/oras-go'
go mod vendor
! find . -not -path "./vendor/*" -name "*.go" -type f -exec file "{}" ";" | grep CRLF
! find scripts -name "*.sh" -type f -exec file "{}" ";" | grep CRLF
./scripts/test.sh
+++ dirname ./scripts/test.sh
++ cd ./scripts
++ pwd
+ DIR=/tmp/oras-go/oras-go/scripts
+ cd /tmp/oras-go/oras-go/scripts/../
+ rm -rf .cover/ .test/
+ mkdir .cover/ .test/
+ trap 'rm -rf .test/' EXIT
+ export CGO_ENABLED=0
+ CGO_ENABLED=0
++ go list ./...
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2.cover.out oras.land/oras-go/v2
=== RUN   Test_Pack_Default
--- PASS: Test_Pack_Default (0.00s)
=== RUN   Test_Pack_WithOptions
--- PASS: Test_Pack_WithOptions (0.00s)
=== RUN   Test_Pack_NoLayer
--- PASS: Test_Pack_NoLayer (0.00s)
=== RUN   Test_PackArtifact_Default
--- PASS: Test_PackArtifact_Default (0.00s)
=== RUN   Test_PackArtifact_WithOptions
--- PASS: Test_PackArtifact_WithOptions (0.00s)
=== RUN   Test_PackArtifact_NoBlob
--- PASS: Test_PackArtifact_NoBlob (0.00s)
=== RUN   Test_PackArtifact_MissingArtifactType
--- PASS: Test_PackArtifact_MissingArtifactType (0.00s)
=== RUN   Test_PackArtifact_InvalidDateTimeFormat
--- PASS: Test_PackArtifact_InvalidDateTimeFormat (0.00s)
=== RUN   TestTag_Memory
--- PASS: TestTag_Memory (0.00s)
=== RUN   TestTag_Repository
--- PASS: TestTag_Repository (0.00s)
=== RUN   TestCopy_FullCopy
--- PASS: TestCopy_FullCopy (0.00s)
=== RUN   TestCopyGraph_FullCopy
--- PASS: TestCopyGraph_FullCopy (0.00s)
=== RUN   TestCopyGraph_PartialCopy
--- PASS: TestCopyGraph_PartialCopy (0.00s)
=== RUN   TestCopy_WithOptions
--- PASS: TestCopy_WithOptions (0.00s)
=== RUN   TestCopyGraph_WithOptions
--- PASS: TestCopyGraph_WithOptions (0.00s)
=== RUN   TestExtendedCopy_FullCopy
--- PASS: TestExtendedCopy_FullCopy (0.00s)
=== RUN   TestExtendedCopyGraph_FullCopy
--- PASS: TestExtendedCopyGraph_FullCopy (0.00s)
=== RUN   TestExtendedCopyGraph_PartialCopy
--- PASS: TestExtendedCopyGraph_PartialCopy (0.00s)
=== RUN   TestExtendedCopyGraph_WithDepthOption
--- PASS: TestExtendedCopyGraph_WithDepthOption (0.00s)
=== RUN   TestExtendedCopy_WithFindPredecessorsOption
--- PASS: TestExtendedCopy_WithFindPredecessorsOption (0.00s)
=== RUN   TestExtendedCopy_NotFound
--- PASS: TestExtendedCopy_NotFound (0.00s)
=== RUN   ExampleCopy_remoteToRemote
--- PASS: ExampleCopy_remoteToRemote (0.00s)
=== RUN   ExampleCopy_remoteToLocal
--- PASS: ExampleCopy_remoteToLocal (0.00s)
=== RUN   ExampleCopy_localToLocal
--- PASS: ExampleCopy_localToLocal (0.00s)
=== RUN   ExampleCopy_localToOciFile
--- PASS: ExampleCopy_localToOciFile (0.00s)
=== RUN   ExampleCopy_localToRemote
--- PASS: ExampleCopy_localToRemote (0.00s)
PASS
coverage: 74.6% of statements
ok  	oras.land/oras-go/v2	0.017s	coverage: 74.6% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/content
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_content.cover.out oras.land/oras-go/v2/content
?   	oras.land/oras-go/v2/content	[no test files]
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/content/file
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_content_file.cover.out oras.land/oras-go/v2/content/file
=== RUN   TestStoreInterface
--- PASS: TestStoreInterface (0.00s)
=== RUN   TestStore_Success
--- PASS: TestStore_Success (0.00s)
=== RUN   TestStore_Close
--- PASS: TestStore_Close (0.00s)
=== RUN   TestStore_File_Push
--- PASS: TestStore_File_Push (0.00s)
=== RUN   TestStore_Dir_Push
--- PASS: TestStore_Dir_Push (0.00s)
=== RUN   TestStore_Push_NoName
--- PASS: TestStore_Push_NoName (0.00s)
=== RUN   TestStore_Push_NoName_ExceedLimit
--- PASS: TestStore_Push_NoName_ExceedLimit (0.00s)
=== RUN   TestStore_Push_NoName_SizeNotMatch
--- PASS: TestStore_Push_NoName_SizeNotMatch (0.00s)
=== RUN   TestStore_File_NotFound
--- PASS: TestStore_File_NotFound (0.00s)
=== RUN   TestStore_File_ContentBadPush
--- PASS: TestStore_File_ContentBadPush (0.00s)
=== RUN   TestStore_File_Add
--- PASS: TestStore_File_Add (0.00s)
=== RUN   TestStore_Dir_Add
--- PASS: TestStore_Dir_Add (0.00s)
=== RUN   TestStore_File_SameContent_DuplicateName
--- PASS: TestStore_File_SameContent_DuplicateName (0.00s)
=== RUN   TestStore_File_DifferentContent_DuplicateName
--- PASS: TestStore_File_DifferentContent_DuplicateName (0.00s)
=== RUN   TestStore_File_Add_MissingName
--- PASS: TestStore_File_Add_MissingName (0.00s)
=== RUN   TestStore_File_Add_SameContent
--- PASS: TestStore_File_Add_SameContent (0.00s)
=== RUN   TestStore_PackFiles
--- PASS: TestStore_PackFiles (0.00s)
=== RUN   TestStore_File_Push_SameContent
--- PASS: TestStore_File_Push_SameContent (0.00s)
=== RUN   TestStore_File_Push_DuplicateName
--- PASS: TestStore_File_Push_DuplicateName (0.00s)
=== RUN   TestStore_File_Fetch_SameDigest_NoName
--- PASS: TestStore_File_Fetch_SameDigest_NoName (0.00s)
=== RUN   TestStore_File_Fetch_SameDigest_DifferentName
--- PASS: TestStore_File_Fetch_SameDigest_DifferentName (0.00s)
=== RUN   TestStore_File_Push_Overwrite
--- PASS: TestStore_File_Push_Overwrite (0.00s)
=== RUN   TestStore_File_Push_DisableOverwrite
--- PASS: TestStore_File_Push_DisableOverwrite (0.00s)
=== RUN   TestStore_File_Push_DisallowPathTraversal
--- PASS: TestStore_File_Push_DisallowPathTraversal (0.00s)
=== RUN   TestStore_Dir_Push_DisallowPathTraversal
--- PASS: TestStore_Dir_Push_DisallowPathTraversal (0.00s)
=== RUN   TestStore_File_Push_PathTraversal
--- PASS: TestStore_File_Push_PathTraversal (0.00s)
=== RUN   TestStore_File_Push_Concurrent
--- PASS: TestStore_File_Push_Concurrent (0.00s)
=== RUN   TestStore_File_Fetch_Concurrent
--- PASS: TestStore_File_Fetch_Concurrent (0.00s)
=== RUN   TestStore_TagNotFound
--- PASS: TestStore_TagNotFound (0.00s)
=== RUN   TestStore_TagUnknownContent
--- PASS: TestStore_TagUnknownContent (0.00s)
=== RUN   TestStore_RepeatTag
--- PASS: TestStore_RepeatTag (0.00s)
=== RUN   TestStore_Predecessors
--- PASS: TestStore_Predecessors (0.00s)
=== RUN   TestCopy_File_MemoryToFile_FullCopy
--- PASS: TestCopy_File_MemoryToFile_FullCopy (0.00s)
=== RUN   TestCopyGraph_MemoryToFile_FullCopy
--- PASS: TestCopyGraph_MemoryToFile_FullCopy (0.00s)
=== RUN   TestCopyGraph_MemoryToFile_PartialCopy
--- PASS: TestCopyGraph_MemoryToFile_PartialCopy (0.00s)
=== RUN   TestCopy_File_FileToMemory_FullCopy
--- PASS: TestCopy_File_FileToMemory_FullCopy (0.00s)
=== RUN   TestCopyGraph_FileToMemory_FullCopy
--- PASS: TestCopyGraph_FileToMemory_FullCopy (0.00s)
=== RUN   TestCopyGraph_FileToMemory_PartialCopy
--- PASS: TestCopyGraph_FileToMemory_PartialCopy (0.00s)
=== RUN   Test_ensureBasePath
=== RUN   Test_ensureBasePath/valid_case_(depth_0)
=== RUN   Test_ensureBasePath/valid_case_(depth_1)
=== RUN   Test_ensureBasePath/valid_case_(depth_2)
=== RUN   Test_ensureBasePath/invalid_prefix
=== RUN   Test_ensureBasePath/invalid_prefix#01
=== RUN   Test_ensureBasePath/bad_traversal
=== RUN   Test_ensureBasePath/valid_traversal
=== RUN   Test_ensureBasePath/complex_traversal
--- PASS: Test_ensureBasePath (0.00s)
    --- PASS: Test_ensureBasePath/valid_case_(depth_0) (0.00s)
    --- PASS: Test_ensureBasePath/valid_case_(depth_1) (0.00s)
    --- PASS: Test_ensureBasePath/valid_case_(depth_2) (0.00s)
    --- PASS: Test_ensureBasePath/invalid_prefix (0.00s)
    --- PASS: Test_ensureBasePath/invalid_prefix#01 (0.00s)
    --- PASS: Test_ensureBasePath/bad_traversal (0.00s)
    --- PASS: Test_ensureBasePath/valid_traversal (0.00s)
    --- PASS: Test_ensureBasePath/complex_traversal (0.00s)
=== RUN   Test_ensureLinkPath
=== RUN   Test_ensureLinkPath/valid_case_(depth_1)
=== RUN   Test_ensureLinkPath/valid_case_(depth_2)
=== RUN   Test_ensureLinkPath/invalid_prefix
=== RUN   Test_ensureLinkPath/bad_traversal
=== RUN   Test_ensureLinkPath/valid_traversal
=== RUN   Test_ensureLinkPath/complex_traversal
--- PASS: Test_ensureLinkPath (0.00s)
    --- PASS: Test_ensureLinkPath/valid_case_(depth_1) (0.00s)
    --- PASS: Test_ensureLinkPath/valid_case_(depth_2) (0.00s)
    --- PASS: Test_ensureLinkPath/invalid_prefix (0.00s)
    --- PASS: Test_ensureLinkPath/bad_traversal (0.00s)
    --- PASS: Test_ensureLinkPath/valid_traversal (0.00s)
    --- PASS: Test_ensureLinkPath/complex_traversal (0.00s)
PASS
coverage: 83.1% of statements
ok  	oras.land/oras-go/v2/content/file	0.027s	coverage: 83.1% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/content/memory
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_content_memory.cover.out oras.land/oras-go/v2/content/memory
=== RUN   TestStoreInterface
--- PASS: TestStoreInterface (0.00s)
=== RUN   TestStoreSuccess
--- PASS: TestStoreSuccess (0.00s)
=== RUN   TestStoreContentNotFound
--- PASS: TestStoreContentNotFound (0.00s)
=== RUN   TestStoreContentAlreadyExists
--- PASS: TestStoreContentAlreadyExists (0.00s)
=== RUN   TestStoreContentBadPush
--- PASS: TestStoreContentBadPush (0.00s)
=== RUN   TestStoreTagNotFound
--- PASS: TestStoreTagNotFound (0.00s)
=== RUN   TestStoreTagUnknownContent
--- PASS: TestStoreTagUnknownContent (0.00s)
=== RUN   TestStoreRepeatTag
--- PASS: TestStoreRepeatTag (0.00s)
=== RUN   TestStorePredecessors
--- PASS: TestStorePredecessors (0.00s)
PASS
coverage: 92.9% of statements
ok  	oras.land/oras-go/v2/content/memory	0.003s	coverage: 92.9% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/content/oci
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_content_oci.cover.out oras.land/oras-go/v2/content/oci
=== RUN   TestStoreInterface
--- PASS: TestStoreInterface (0.00s)
=== RUN   TestStore_Success
--- PASS: TestStore_Success (0.00s)
=== RUN   TestStore_NotExistRoot_Success
--- PASS: TestStore_NotExistRoot_Success (0.00s)
=== RUN   TestStore_TagByDigest
--- PASS: TestStore_TagByDigest (0.00s)
=== RUN   TestStore_ContentNotFound
--- PASS: TestStore_ContentNotFound (0.00s)
=== RUN   TestStore_ContentAlreadyExists
--- PASS: TestStore_ContentAlreadyExists (0.00s)
=== RUN   TestStore_ContentBadPush
--- PASS: TestStore_ContentBadPush (0.00s)
=== RUN   TestStore_TagNotFound
--- PASS: TestStore_TagNotFound (0.00s)
=== RUN   TestStore_TagUnknownContent
--- PASS: TestStore_TagUnknownContent (0.00s)
=== RUN   TestStore_DisableAutoSaveIndex
--- PASS: TestStore_DisableAutoSaveIndex (0.00s)
=== RUN   TestStore_RepeatTag
--- PASS: TestStore_RepeatTag (0.00s)
=== RUN   TestStore_BadIndex
--- PASS: TestStore_BadIndex (0.00s)
=== RUN   TestStore_Predecessors
--- PASS: TestStore_Predecessors (0.00s)
=== RUN   TestStore_ExistingStore
--- PASS: TestStore_ExistingStore (0.00s)
=== RUN   TestCopy_MemoryToOCI_FullCopy
--- PASS: TestCopy_MemoryToOCI_FullCopy (0.00s)
=== RUN   TestCopyGraph_MemoryToOCI_FullCopy
--- PASS: TestCopyGraph_MemoryToOCI_FullCopy (0.00s)
=== RUN   TestCopyGraph_MemoryToOCI_PartialCopy
--- PASS: TestCopyGraph_MemoryToOCI_PartialCopy (0.00s)
=== RUN   TestCopyGraph_OCIToMemory_FullCopy
--- PASS: TestCopyGraph_OCIToMemory_FullCopy (0.00s)
=== RUN   TestCopyGraph_OCIToMemory_PartialCopy
--- PASS: TestCopyGraph_OCIToMemory_PartialCopy (0.00s)
=== RUN   TestStorage_Success
--- PASS: TestStorage_Success (0.00s)
=== RUN   TestStorage_NotFound
--- PASS: TestStorage_NotFound (0.00s)
=== RUN   TestStorage_AlreadyExists
--- PASS: TestStorage_AlreadyExists (0.00s)
=== RUN   TestStorage_BadPush
--- PASS: TestStorage_BadPush (0.00s)
=== RUN   TestStorage_Push_Concurrent
--- PASS: TestStorage_Push_Concurrent (0.00s)
=== RUN   TestStorage_Fetch_ExistingBlobs
--- PASS: TestStorage_Fetch_ExistingBlobs (0.00s)
=== RUN   TestStorage_Fetch_Concurrent
--- PASS: TestStorage_Fetch_Concurrent (0.00s)
PASS
coverage: 78.4% of statements
ok  	oras.land/oras-go/v2/content/oci	0.021s	coverage: 78.4% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/errdef
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_errdef.cover.out oras.land/oras-go/v2/errdef
?   	oras.land/oras-go/v2/errdef	[no test files]
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/cas
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_cas.cover.out oras.land/oras-go/v2/internal/cas
=== RUN   TestMemorySuccess
--- PASS: TestMemorySuccess (0.00s)
=== RUN   TestMemoryNotFound
--- PASS: TestMemoryNotFound (0.00s)
=== RUN   TestMemoryAlreadyExists
--- PASS: TestMemoryAlreadyExists (0.00s)
=== RUN   TestMemoryBadPush
--- PASS: TestMemoryBadPush (0.00s)
=== RUN   TestProxyCache
--- PASS: TestProxyCache (0.00s)
=== RUN   TestProxyPushPassThrough
--- PASS: TestProxyPushPassThrough (0.00s)
=== RUN   TestProxy_FetchCached_NotCachedContent
--- PASS: TestProxy_FetchCached_NotCachedContent (0.00s)
=== RUN   TestProxy_FetchCached_CachedContent
--- PASS: TestProxy_FetchCached_CachedContent (0.00s)
=== RUN   TestProxy_StopCaching
--- PASS: TestProxy_StopCaching (0.00s)
PASS
coverage: 91.4% of statements
ok  	oras.land/oras-go/v2/internal/cas	0.002s	coverage: 91.4% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/copyutil
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_copyutil.cover.out oras.land/oras-go/v2/internal/copyutil
=== RUN   TestStack
--- PASS: TestStack (0.00s)
PASS
coverage: 100.0% of statements
ok  	oras.land/oras-go/v2/internal/copyutil	0.002s	coverage: 100.0% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/descriptor
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_descriptor.cover.out oras.land/oras-go/v2/internal/descriptor
?   	oras.land/oras-go/v2/internal/descriptor	[no test files]
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/docker
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_docker.cover.out oras.land/oras-go/v2/internal/docker
?   	oras.land/oras-go/v2/internal/docker	[no test files]
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/graph
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_graph.cover.out oras.land/oras-go/v2/internal/graph
?   	oras.land/oras-go/v2/internal/graph	[no test files]
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/httputil
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_httputil.cover.out oras.land/oras-go/v2/internal/httputil
=== RUN   Test_readSeekCloser_Read
--- PASS: Test_readSeekCloser_Read (0.00s)
=== RUN   Test_readSeekCloser_Seek
=== RUN   Test_readSeekCloser_Seek/read_from_initial_response
=== RUN   Test_readSeekCloser_Seek/seek_to_skip
=== RUN   Test_readSeekCloser_Seek/seek_to_the_beginning
=== RUN   Test_readSeekCloser_Seek/seek_to_middle
=== RUN   Test_readSeekCloser_Seek/seek_from_end
=== RUN   Test_readSeekCloser_Seek/seek_to_the_end
=== RUN   Test_readSeekCloser_Seek/seek_beyond_the_end
--- PASS: Test_readSeekCloser_Seek (0.00s)
    --- PASS: Test_readSeekCloser_Seek/read_from_initial_response (0.00s)
    --- PASS: Test_readSeekCloser_Seek/seek_to_skip (0.00s)
    --- PASS: Test_readSeekCloser_Seek/seek_to_the_beginning (0.00s)
    --- PASS: Test_readSeekCloser_Seek/seek_to_middle (0.00s)
    --- PASS: Test_readSeekCloser_Seek/seek_from_end (0.00s)
    --- PASS: Test_readSeekCloser_Seek/seek_to_the_end (0.00s)
    --- PASS: Test_readSeekCloser_Seek/seek_beyond_the_end (0.00s)
PASS
coverage: 81.1% of statements
ok  	oras.land/oras-go/v2/internal/httputil	0.004s	coverage: 81.1% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/ioutil
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_ioutil.cover.out oras.land/oras-go/v2/internal/ioutil
=== RUN   TestUnwrapNopCloser
=== RUN   TestUnwrapNopCloser/nil
=== RUN   TestUnwrapNopCloser/no-op_closer
=== RUN   TestUnwrapNopCloser/any_ReadCloser
--- PASS: TestUnwrapNopCloser (0.00s)
    --- PASS: TestUnwrapNopCloser/nil (0.00s)
    --- PASS: TestUnwrapNopCloser/no-op_closer (0.00s)
    --- PASS: TestUnwrapNopCloser/any_ReadCloser (0.00s)
PASS
coverage: 10.7% of statements
ok  	oras.land/oras-go/v2/internal/ioutil	0.002s	coverage: 10.7% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/registryutil
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_registryutil.cover.out oras.land/oras-go/v2/internal/registryutil
=== RUN   TestProxy_FetchReference
--- PASS: TestProxy_FetchReference (0.00s)
PASS
coverage: 84.0% of statements
ok  	oras.land/oras-go/v2/internal/registryutil	0.003s	coverage: 84.0% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/resolver
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_resolver.cover.out oras.land/oras-go/v2/internal/resolver
=== RUN   TestMemorySuccess
--- PASS: TestMemorySuccess (0.00s)
=== RUN   TestMemoryNotFound
--- PASS: TestMemoryNotFound (0.00s)
PASS
coverage: 100.0% of statements
ok  	oras.land/oras-go/v2/internal/resolver	0.001s	coverage: 100.0% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/status
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_status.cover.out oras.land/oras-go/v2/internal/status
=== RUN   TestTracker_TryCommit
--- PASS: TestTracker_TryCommit (0.00s)
PASS
coverage: 100.0% of statements
ok  	oras.land/oras-go/v2/internal/status	0.002s	coverage: 100.0% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/internal/syncutil
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_internal_syncutil.cover.out oras.land/oras-go/v2/internal/syncutil
=== RUN   TestOnce_Do
--- PASS: TestOnce_Do (0.00s)
=== RUN   TestOnce_Do_Cancel_Context
--- PASS: TestOnce_Do_Cancel_Context (0.20s)
=== RUN   TestOnce_Do_Cancel_Function
--- PASS: TestOnce_Do_Cancel_Function (0.00s)
=== RUN   TestOnce_Do_Cancel_Panic
--- PASS: TestOnce_Do_Cancel_Panic (0.00s)
PASS
coverage: 100.0% of statements
ok  	oras.land/oras-go/v2/internal/syncutil	0.202s	coverage: 100.0% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/registry
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_registry.cover.out oras.land/oras-go/v2/registry
=== RUN   TestParseReference
=== RUN   TestParseReference/basic_reference
=== RUN   TestParseReference/tag_reference
=== RUN   TestParseReference/digest_reference
=== RUN   TestParseReference/tag_with_digest
=== RUN   TestParseReference/basic_reference_with_non_local_DNS_name
=== RUN   TestParseReference/tag_reference_with_non_local_DNS_name
=== RUN   TestParseReference/digest_reference_with_non_local_DNS_name
=== RUN   TestParseReference/tag_with_digest_with_non_local_DNS_name
=== RUN   TestParseReference/basic_reference_with_port
=== RUN   TestParseReference/tag_reference_with_port
=== RUN   TestParseReference/digest_reference_with_port
=== RUN   TestParseReference/tag_with_digest_with_port
=== RUN   TestParseReference/basic_reference_with_IP_and_port
=== RUN   TestParseReference/tag_reference_with_IP_and_port
=== RUN   TestParseReference/digest_reference_with_IP_and_port
=== RUN   TestParseReference/tag_with_digest_with_IP_and_port
=== RUN   TestParseReference/basic_reference_with_IPv6_and_port
=== RUN   TestParseReference/tag_reference_with_IPv6_and_port
=== RUN   TestParseReference/digest_reference_with_IPv6_and_port
=== RUN   TestParseReference/tag_with_digest_with_IPv6_and_port
=== RUN   TestParseReference/no_repo_name
=== RUN   TestParseReference/missing_registry
=== RUN   TestParseReference/invalid_repo_name
=== RUN   TestParseReference/invalid_port
--- PASS: TestParseReference (0.00s)
    --- PASS: TestParseReference/basic_reference (0.00s)
    --- PASS: TestParseReference/tag_reference (0.00s)
    --- PASS: TestParseReference/digest_reference (0.00s)
    --- PASS: TestParseReference/tag_with_digest (0.00s)
    --- PASS: TestParseReference/basic_reference_with_non_local_DNS_name (0.00s)
    --- PASS: TestParseReference/tag_reference_with_non_local_DNS_name (0.00s)
    --- PASS: TestParseReference/digest_reference_with_non_local_DNS_name (0.00s)
    --- PASS: TestParseReference/tag_with_digest_with_non_local_DNS_name (0.00s)
    --- PASS: TestParseReference/basic_reference_with_port (0.00s)
    --- PASS: TestParseReference/tag_reference_with_port (0.00s)
    --- PASS: TestParseReference/digest_reference_with_port (0.00s)
    --- PASS: TestParseReference/tag_with_digest_with_port (0.00s)
    --- PASS: TestParseReference/basic_reference_with_IP_and_port (0.00s)
    --- PASS: TestParseReference/tag_reference_with_IP_and_port (0.00s)
    --- PASS: TestParseReference/digest_reference_with_IP_and_port (0.00s)
    --- PASS: TestParseReference/tag_with_digest_with_IP_and_port (0.00s)
    --- PASS: TestParseReference/basic_reference_with_IPv6_and_port (0.00s)
    --- PASS: TestParseReference/tag_reference_with_IPv6_and_port (0.00s)
    --- PASS: TestParseReference/digest_reference_with_IPv6_and_port (0.00s)
    --- PASS: TestParseReference/tag_with_digest_with_IPv6_and_port (0.00s)
    --- PASS: TestParseReference/no_repo_name (0.00s)
    --- PASS: TestParseReference/missing_registry (0.00s)
    --- PASS: TestParseReference/invalid_repo_name (0.00s)
    --- PASS: TestParseReference/invalid_port (0.00s)
=== RUN   ExampleRepositories
--- PASS: ExampleRepositories (0.00s)
PASS
coverage: 70.1% of statements
ok  	oras.land/oras-go/v2/registry	0.006s	coverage: 70.1% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/registry/remote
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_registry_remote.cover.out oras.land/oras-go/v2/registry/remote
=== RUN   TestRegistryInterface
--- PASS: TestRegistryInterface (0.00s)
=== RUN   TestRegistry_TLS
--- PASS: TestRegistry_TLS (0.00s)
=== RUN   TestRegistry_Ping
--- PASS: TestRegistry_Ping (0.00s)
=== RUN   TestRegistry_Repositories
--- PASS: TestRegistry_Repositories (0.00s)
=== RUN   TestRegistry_Repository
--- PASS: TestRegistry_Repository (0.00s)
=== RUN   TestRegistry_Repositories_WithLastParam
--- PASS: TestRegistry_Repositories_WithLastParam (0.00s)
=== RUN   TestRepositoryInterface
--- PASS: TestRepositoryInterface (0.00s)
=== RUN   TestRepository_Fetch
--- PASS: TestRepository_Fetch (0.00s)
=== RUN   TestRepository_Push
--- PASS: TestRepository_Push (0.00s)
=== RUN   TestRepository_Exists
--- PASS: TestRepository_Exists (0.00s)
=== RUN   TestRepository_Delete
--- PASS: TestRepository_Delete (0.00s)
=== RUN   TestRepository_Resolve
--- PASS: TestRepository_Resolve (0.00s)
=== RUN   TestRepository_Tag
--- PASS: TestRepository_Tag (0.00s)
=== RUN   TestRepository_PushTag
--- PASS: TestRepository_PushTag (0.00s)
=== RUN   TestRepository_FetchReference
--- PASS: TestRepository_FetchReference (0.00s)
=== RUN   TestRepository_TagReference
--- PASS: TestRepository_TagReference (0.00s)
=== RUN   TestRepository_Tags
--- PASS: TestRepository_Tags (0.00s)
=== RUN   TestRepository_Predecessors
--- PASS: TestRepository_Predecessors (0.00s)
=== RUN   TestRepository_Referrers
--- PASS: TestRepository_Referrers (0.00s)
=== RUN   TestRepository_Referrers_Incompatible
--- PASS: TestRepository_Referrers_Incompatible (0.00s)
=== RUN   Test_verifyOrasApiVersion
=== RUN   Test_verifyOrasApiVersion/exact
=== RUN   Test_verifyOrasApiVersion/major_same,_minor_different
=== RUN   Test_verifyOrasApiVersion/major_different
=== RUN   Test_verifyOrasApiVersion/invalid_prefix
=== RUN   Test_verifyOrasApiVersion/invalid_minor_version
=== RUN   Test_verifyOrasApiVersion/not_dot
=== RUN   Test_verifyOrasApiVersion/no_version
--- PASS: Test_verifyOrasApiVersion (0.00s)
    --- PASS: Test_verifyOrasApiVersion/exact (0.00s)
    --- PASS: Test_verifyOrasApiVersion/major_same,_minor_different (0.00s)
    --- PASS: Test_verifyOrasApiVersion/major_different (0.00s)
    --- PASS: Test_verifyOrasApiVersion/invalid_prefix (0.00s)
    --- PASS: Test_verifyOrasApiVersion/invalid_minor_version (0.00s)
    --- PASS: Test_verifyOrasApiVersion/not_dot (0.00s)
    --- PASS: Test_verifyOrasApiVersion/no_version (0.00s)
=== RUN   TestRepository_Referrers_Fallback
--- PASS: TestRepository_Referrers_Fallback (0.00s)
=== RUN   TestRepository_Referrers_ServerFiltering
--- PASS: TestRepository_Referrers_ServerFiltering (0.00s)
=== RUN   TestRepository_Referrers_ClientFiltering
--- PASS: TestRepository_Referrers_ClientFiltering (0.00s)
=== RUN   Test_filterReferrers
--- PASS: Test_filterReferrers (0.00s)
=== RUN   Test_filterReferrers_allMatch
--- PASS: Test_filterReferrers_allMatch (0.00s)
=== RUN   TestRepository_DiscoverExtensions
--- PASS: TestRepository_DiscoverExtensions (0.00s)
=== RUN   Test_BlobStore_Fetch
--- PASS: Test_BlobStore_Fetch (0.00s)
=== RUN   Test_BlobStore_Fetch_Seek
--- PASS: Test_BlobStore_Fetch_Seek (0.00s)
=== RUN   Test_BlobStore_Fetch_ZeroSizedBlob
--- PASS: Test_BlobStore_Fetch_ZeroSizedBlob (0.00s)
=== RUN   Test_BlobStore_Push
--- PASS: Test_BlobStore_Push (0.00s)
=== RUN   Test_BlobStore_Exists
--- PASS: Test_BlobStore_Exists (0.00s)
=== RUN   Test_BlobStore_Delete
--- PASS: Test_BlobStore_Delete (0.00s)
=== RUN   Test_BlobStore_Resolve
--- PASS: Test_BlobStore_Resolve (0.00s)
=== RUN   Test_BlobStore_FetchReference
--- PASS: Test_BlobStore_FetchReference (0.00s)
=== RUN   Test_BlobStore_FetchReference_Seek
--- PASS: Test_BlobStore_FetchReference_Seek (0.00s)
=== RUN   Test_ManifestStore_Fetch
--- PASS: Test_ManifestStore_Fetch (0.00s)
=== RUN   Test_ManifestStore_Push
--- PASS: Test_ManifestStore_Push (0.00s)
=== RUN   Test_ManifestStore_Exists
--- PASS: Test_ManifestStore_Exists (0.00s)
=== RUN   Test_ManifestStore_Delete
--- PASS: Test_ManifestStore_Delete (0.00s)
=== RUN   Test_ManifestStore_Resolve
--- PASS: Test_ManifestStore_Resolve (0.00s)
=== RUN   Test_ManifestStore_FetchReference
--- PASS: Test_ManifestStore_FetchReference (0.00s)
=== RUN   Test_BlobStore_Push_Port443
--- PASS: Test_BlobStore_Push_Port443 (0.00s)
=== RUN   Test_BlobStore_Push_Port443_HTTPS
--- PASS: Test_BlobStore_Push_Port443_HTTPS (0.01s)
=== RUN   TestRepository_Tags_WithLastParam
--- PASS: TestRepository_Tags_WithLastParam (0.00s)
=== RUN   Test_buildArtifactReferrerURL
=== RUN   Test_buildArtifactReferrerURL/plain_http,_no_filter
=== RUN   Test_buildArtifactReferrerURL/https,_no_filter
=== RUN   Test_buildArtifactReferrerURL/plain_http,_filter
=== RUN   Test_buildArtifactReferrerURL/https,_filter
=== RUN   Test_buildArtifactReferrerURL/https,_filter_(alternative)
--- PASS: Test_buildArtifactReferrerURL (0.00s)
    --- PASS: Test_buildArtifactReferrerURL/plain_http,_no_filter (0.00s)
    --- PASS: Test_buildArtifactReferrerURL/https,_no_filter (0.00s)
    --- PASS: Test_buildArtifactReferrerURL/plain_http,_filter (0.00s)
    --- PASS: Test_buildArtifactReferrerURL/https,_filter (0.00s)
    --- PASS: Test_buildArtifactReferrerURL/https,_filter_(alternative) (0.00s)
=== RUN   Test_buildArtifactReferrerURLLegacy
=== RUN   Test_buildArtifactReferrerURLLegacy/plain_http,_no_filter
=== RUN   Test_buildArtifactReferrerURLLegacy/https,_no_filter
=== RUN   Test_buildArtifactReferrerURLLegacy/plain_http,_filter
=== RUN   Test_buildArtifactReferrerURLLegacy/https,_filter
--- PASS: Test_buildArtifactReferrerURLLegacy (0.00s)
    --- PASS: Test_buildArtifactReferrerURLLegacy/plain_http,_no_filter (0.00s)
    --- PASS: Test_buildArtifactReferrerURLLegacy/https,_no_filter (0.00s)
    --- PASS: Test_buildArtifactReferrerURLLegacy/plain_http,_filter (0.00s)
    --- PASS: Test_buildArtifactReferrerURLLegacy/https,_filter (0.00s)
=== RUN   Test_parseLink
=== RUN   Test_parseLink/catalog
=== RUN   Test_parseLink/list_tag
=== RUN   Test_parseLink/other_domain
=== RUN   Test_parseLink/invalid_header
--- PASS: Test_parseLink (0.00s)
    --- PASS: Test_parseLink/catalog (0.00s)
    --- PASS: Test_parseLink/list_tag (0.00s)
    --- PASS: Test_parseLink/other_domain (0.00s)
    --- PASS: Test_parseLink/invalid_header (0.00s)
=== RUN   ExampleRepository_Tags
--- PASS: ExampleRepository_Tags (0.00s)
=== RUN   ExampleRepository_Push
--- PASS: ExampleRepository_Push (0.00s)
=== RUN   ExampleRepository_Push_artifactReferenceManifest
--- PASS: ExampleRepository_Push_artifactReferenceManifest (0.00s)
=== RUN   ExampleRepository_Resolve_byTag
--- PASS: ExampleRepository_Resolve_byTag (0.00s)
=== RUN   ExampleRepository_Resolve_byDigest
--- PASS: ExampleRepository_Resolve_byDigest (0.00s)
=== RUN   ExampleRepository_Fetch_manifestByTag
--- PASS: ExampleRepository_Fetch_manifestByTag (0.00s)
=== RUN   ExampleRepository_Fetch_manifestByDigest
--- PASS: ExampleRepository_Fetch_manifestByDigest (0.00s)
=== RUN   ExampleRepository_Fetch_artifactReferenceManifest
--- PASS: ExampleRepository_Fetch_artifactReferenceManifest (0.00s)
=== RUN   ExampleRepository_FetchReference_manifestByTag
--- PASS: ExampleRepository_FetchReference_manifestByTag (0.00s)
=== RUN   ExampleRepository_FetchReference_manifestByDigest
--- PASS: ExampleRepository_FetchReference_manifestByDigest (0.00s)
=== RUN   ExampleRepository_Fetch_layer
--- PASS: ExampleRepository_Fetch_layer (0.00s)
=== RUN   ExampleRepository_Tag
--- PASS: ExampleRepository_Tag (0.00s)
=== RUN   ExampleRepository_TagReference
--- PASS: ExampleRepository_TagReference (0.00s)
=== RUN   ExampleRegistry_Repositories
--- PASS: ExampleRegistry_Repositories (0.00s)
=== RUN   Example_pullByTag
--- PASS: Example_pullByTag (0.00s)
=== RUN   Example_pullByDigest
--- PASS: Example_pullByDigest (0.00s)
=== RUN   Example_pushAndTag
--- PASS: Example_pushAndTag (0.00s)
PASS
coverage: 81.9% of statements
ok  	oras.land/oras-go/v2/registry/remote	0.042s	coverage: 81.9% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/registry/remote/auth
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_registry_remote_auth.cover.out oras.land/oras-go/v2/registry/remote/auth
=== RUN   Test_concurrentCache_GetScheme
--- PASS: Test_concurrentCache_GetScheme (0.00s)
=== RUN   Test_concurrentCache_GetToken
--- PASS: Test_concurrentCache_GetToken (0.00s)
=== RUN   Test_concurrentCache_Set
--- PASS: Test_concurrentCache_Set (0.00s)
=== RUN   Test_concurrentCache_Set_Fetch_Once
--- PASS: Test_concurrentCache_Set_Fetch_Once (1.00s)
=== RUN   Test_concurrentCache_Set_Fetch_Failure
--- PASS: Test_concurrentCache_Set_Fetch_Failure (0.00s)
=== RUN   Test_parseChallenge
=== RUN   Test_parseChallenge/empty_header
=== RUN   Test_parseChallenge/unknown_scheme
=== RUN   Test_parseChallenge/basic_challenge
=== RUN   Test_parseChallenge/basic_challenge_with_no_parameters
=== RUN   Test_parseChallenge/basic_challenge_with_no_parameters_but_spaces
=== RUN   Test_parseChallenge/bearer_challenge
=== RUN   Test_parseChallenge/bearer_challenge_with_multiple_scopes
=== RUN   Test_parseChallenge/bearer_challenge_with_no_parameters
=== RUN   Test_parseChallenge/bearer_challenge_with_no_parameters_but_spaces
=== RUN   Test_parseChallenge/bearer_challenge_with_white_spaces
=== RUN   Test_parseChallenge/bad_bearer_challenge_(incomplete_parameter_with_spaces)
=== RUN   Test_parseChallenge/bad_bearer_challenge_(incomplete_parameter_with_no_value)
=== RUN   Test_parseChallenge/bad_bearer_challenge_(incomplete_parameter_with_spaces)#01
=== RUN   Test_parseChallenge/bad_bearer_challenge_(incomplete_quote)
=== RUN   Test_parseChallenge/bearer_challenge_with_empty_parameter_value
=== RUN   Test_parseChallenge/bearer_challenge_with_escaping_parameter_value
--- PASS: Test_parseChallenge (0.00s)
    --- PASS: Test_parseChallenge/empty_header (0.00s)
    --- PASS: Test_parseChallenge/unknown_scheme (0.00s)
    --- PASS: Test_parseChallenge/basic_challenge (0.00s)
    --- PASS: Test_parseChallenge/basic_challenge_with_no_parameters (0.00s)
    --- PASS: Test_parseChallenge/basic_challenge_with_no_parameters_but_spaces (0.00s)
    --- PASS: Test_parseChallenge/bearer_challenge (0.00s)
    --- PASS: Test_parseChallenge/bearer_challenge_with_multiple_scopes (0.00s)
    --- PASS: Test_parseChallenge/bearer_challenge_with_no_parameters (0.00s)
    --- PASS: Test_parseChallenge/bearer_challenge_with_no_parameters_but_spaces (0.00s)
    --- PASS: Test_parseChallenge/bearer_challenge_with_white_spaces (0.00s)
    --- PASS: Test_parseChallenge/bad_bearer_challenge_(incomplete_parameter_with_spaces) (0.00s)
    --- PASS: Test_parseChallenge/bad_bearer_challenge_(incomplete_parameter_with_no_value) (0.00s)
    --- PASS: Test_parseChallenge/bad_bearer_challenge_(incomplete_parameter_with_spaces)#01 (0.00s)
    --- PASS: Test_parseChallenge/bad_bearer_challenge_(incomplete_quote) (0.00s)
    --- PASS: Test_parseChallenge/bearer_challenge_with_empty_parameter_value (0.00s)
    --- PASS: Test_parseChallenge/bearer_challenge_with_escaping_parameter_value (0.00s)
=== RUN   TestClient_SetUserAgent
--- PASS: TestClient_SetUserAgent (0.00s)
=== RUN   TestClient_Do_Basic_Auth
--- PASS: TestClient_Do_Basic_Auth (0.00s)
=== RUN   TestClient_Do_Basic_Auth_Cached
--- PASS: TestClient_Do_Basic_Auth_Cached (0.00s)
=== RUN   TestClient_Do_Bearer_AccessToken
--- PASS: TestClient_Do_Bearer_AccessToken (0.00s)
=== RUN   TestClient_Do_Bearer_AccessToken_Cached
--- PASS: TestClient_Do_Bearer_AccessToken_Cached (0.00s)
=== RUN   TestClient_Do_Bearer_Auth
--- PASS: TestClient_Do_Bearer_Auth (0.00s)
=== RUN   TestClient_Do_Bearer_Auth_Cached
--- PASS: TestClient_Do_Bearer_Auth_Cached (0.00s)
=== RUN   TestClient_Do_Bearer_OAuth2_Password
--- PASS: TestClient_Do_Bearer_OAuth2_Password (0.00s)
=== RUN   TestClient_Do_Bearer_OAuth2_Password_Cached
--- PASS: TestClient_Do_Bearer_OAuth2_Password_Cached (0.00s)
=== RUN   TestClient_Do_Bearer_OAuth2_RefreshToken
--- PASS: TestClient_Do_Bearer_OAuth2_RefreshToken (0.00s)
=== RUN   TestClient_Do_Bearer_OAuth2_RefreshToken_Cached
--- PASS: TestClient_Do_Bearer_OAuth2_RefreshToken_Cached (0.00s)
=== RUN   TestClient_Do_Token_Expire
--- PASS: TestClient_Do_Token_Expire (0.00s)
=== RUN   TestClient_Do_Scope_Hint_Mismatch
--- PASS: TestClient_Do_Scope_Hint_Mismatch (0.00s)
=== RUN   TestClient_Do_Invalid_Credential_Basic
--- PASS: TestClient_Do_Invalid_Credential_Basic (0.00s)
=== RUN   TestClient_Do_Invalid_Credential_Bearer
--- PASS: TestClient_Do_Invalid_Credential_Bearer (0.00s)
=== RUN   TestClient_Do_Anonymous_Pull
--- PASS: TestClient_Do_Anonymous_Pull (0.00s)
=== RUN   TestClient_Do_Scheme_Change
--- PASS: TestClient_Do_Scheme_Change (0.00s)
=== RUN   TestScopeRepository
=== RUN   TestScopeRepository/empty_repository
=== RUN   TestScopeRepository/nil_actions
=== RUN   TestScopeRepository/empty_actions
=== RUN   TestScopeRepository/empty_actions_list
=== RUN   TestScopeRepository/empty_actions#01
=== RUN   TestScopeRepository/single_action
=== RUN   TestScopeRepository/multiple_actions
=== RUN   TestScopeRepository/unordered_actions
=== RUN   TestScopeRepository/duplicated_actions
--- PASS: TestScopeRepository (0.00s)
    --- PASS: TestScopeRepository/empty_repository (0.00s)
    --- PASS: TestScopeRepository/nil_actions (0.00s)
    --- PASS: TestScopeRepository/empty_actions (0.00s)
    --- PASS: TestScopeRepository/empty_actions_list (0.00s)
    --- PASS: TestScopeRepository/empty_actions#01 (0.00s)
    --- PASS: TestScopeRepository/single_action (0.00s)
    --- PASS: TestScopeRepository/multiple_actions (0.00s)
    --- PASS: TestScopeRepository/unordered_actions (0.00s)
    --- PASS: TestScopeRepository/duplicated_actions (0.00s)
=== RUN   TestWithScopes
--- PASS: TestWithScopes (0.00s)
=== RUN   TestAppendScopes
--- PASS: TestAppendScopes (0.00s)
=== RUN   TestCleanScopes
=== RUN   TestCleanScopes/nil_scope
=== RUN   TestCleanScopes/empty_scope
=== RUN   TestCleanScopes/single_scope
=== RUN   TestCleanScopes/single_scope_with_unordered_actions
=== RUN   TestCleanScopes/single_scope_with_duplicated_actions
=== RUN   TestCleanScopes/single_scope_with_wild_cards
=== RUN   TestCleanScopes/single_scope_with_no_actions
=== RUN   TestCleanScopes/multiple_scopes
=== RUN   TestCleanScopes/multiple_unordered_scopes
=== RUN   TestCleanScopes/multiple_scopes_with_duplicates
=== RUN   TestCleanScopes/multiple_scopes_with_no_actions
=== RUN   TestCleanScopes/single_unknown_or_invalid_scope
=== RUN   TestCleanScopes/multiple_unknown_or_invalid_scopes
--- PASS: TestCleanScopes (0.00s)
    --- PASS: TestCleanScopes/nil_scope (0.00s)
    --- PASS: TestCleanScopes/empty_scope (0.00s)
    --- PASS: TestCleanScopes/single_scope (0.00s)
    --- PASS: TestCleanScopes/single_scope_with_unordered_actions (0.00s)
    --- PASS: TestCleanScopes/single_scope_with_duplicated_actions (0.00s)
    --- PASS: TestCleanScopes/single_scope_with_wild_cards (0.00s)
    --- PASS: TestCleanScopes/single_scope_with_no_actions (0.00s)
    --- PASS: TestCleanScopes/multiple_scopes (0.00s)
    --- PASS: TestCleanScopes/multiple_unordered_scopes (0.00s)
    --- PASS: TestCleanScopes/multiple_scopes_with_duplicates (0.00s)
    --- PASS: TestCleanScopes/multiple_scopes_with_no_actions (0.00s)
    --- PASS: TestCleanScopes/single_unknown_or_invalid_scope (0.00s)
    --- PASS: TestCleanScopes/multiple_unknown_or_invalid_scopes (0.00s)
=== RUN   Test_cleanActions
=== RUN   Test_cleanActions/nil_action
=== RUN   Test_cleanActions/empty_action
=== RUN   Test_cleanActions/single_action
=== RUN   Test_cleanActions/single_empty_action
=== RUN   Test_cleanActions/multiple_actions
=== RUN   Test_cleanActions/multiple_actions_with_empty_action
=== RUN   Test_cleanActions/multiple_actions_with_all_empty_action
=== RUN   Test_cleanActions/unordered_actions
=== RUN   Test_cleanActions/wildcard
=== RUN   Test_cleanActions/wildcard_at_the_begining
=== RUN   Test_cleanActions/wildcard_in_the_middle
=== RUN   Test_cleanActions/wildcard_at_the_end
--- PASS: Test_cleanActions (0.00s)
    --- PASS: Test_cleanActions/nil_action (0.00s)
    --- PASS: Test_cleanActions/empty_action (0.00s)
    --- PASS: Test_cleanActions/single_action (0.00s)
    --- PASS: Test_cleanActions/single_empty_action (0.00s)
    --- PASS: Test_cleanActions/multiple_actions (0.00s)
    --- PASS: Test_cleanActions/multiple_actions_with_empty_action (0.00s)
    --- PASS: Test_cleanActions/multiple_actions_with_all_empty_action (0.00s)
    --- PASS: Test_cleanActions/unordered_actions (0.00s)
    --- PASS: Test_cleanActions/wildcard (0.00s)
    --- PASS: Test_cleanActions/wildcard_at_the_begining (0.00s)
    --- PASS: Test_cleanActions/wildcard_in_the_middle (0.00s)
    --- PASS: Test_cleanActions/wildcard_at_the_end (0.00s)
=== RUN   ExampleClient_Do_minimalClient
--- PASS: ExampleClient_Do_minimalClient (0.00s)
=== RUN   ExampleClient_Do_basicAuth
--- PASS: ExampleClient_Do_basicAuth (0.00s)
=== RUN   ExampleClient_Do_clientConfigurations
--- PASS: ExampleClient_Do_clientConfigurations (0.00s)
=== RUN   ExampleClient_Do_withAccessToken
--- PASS: ExampleClient_Do_withAccessToken (0.00s)
=== RUN   ExampleClient_Do_withRefreshToken
--- PASS: ExampleClient_Do_withRefreshToken (0.00s)
PASS
coverage: 90.2% of statements
ok  	oras.land/oras-go/v2/registry/remote/auth	1.023s	coverage: 90.2% of statements
+ for pkg in '`go list ./...`'
++ echo oras.land/oras-go/v2/registry/remote/internal/errutil
++ sed 's/\//_/g'
+ go test -v -covermode=atomic -coverprofile=.cover/oras.land_oras-go_v2_registry_remote_internal_errutil.cover.out oras.land/oras-go/v2/registry/remote/internal/errutil
=== RUN   Test_ParseErrorResponse
--- PASS: Test_ParseErrorResponse (0.00s)
=== RUN   Test_ParseErrorResponse_plain
--- PASS: Test_ParseErrorResponse_plain (0.00s)
PASS
coverage: 66.7% of statements
ok  	oras.land/oras-go/v2/registry/remote/internal/errutil	0.003s	coverage: 66.7% of statements
+ echo 'mode: set'
+ cat .cover/oras.land_oras-go_v2_content.cover.out .cover/oras.land_oras-go_v2_content_file.cover.out .cover/oras.land_oras-go_v2_content_memory.cover.out .cover/oras.land_oras-go_v2_content_oci.cover.out .cover/oras.land_oras-go_v2.cover.out .cover/oras.land_oras-go_v2_errdef.cover.out .cover/oras.land_oras-go_v2_internal_cas.cover.out .cover/oras.land_oras-go_v2_internal_copyutil.cover.out .cover/oras.land_oras-go_v2_internal_descriptor.cover.out .cover/oras.land_oras-go_v2_internal_docker.cover.out .cover/oras.land_oras-go_v2_internal_graph.cover.out .cover/oras.land_oras-go_v2_internal_httputil.cover.out .cover/oras.land_oras-go_v2_internal_ioutil.cover.out .cover/oras.land_oras-go_v2_internal_registryutil.cover.out .cover/oras.land_oras-go_v2_internal_resolver.cover.out .cover/oras.land_oras-go_v2_internal_status.cover.out .cover/oras.land_oras-go_v2_internal_syncutil.cover.out .cover/oras.land_oras-go_v2_registry.cover.out .cover/oras.land_oras-go_v2_registry_remote_auth.cover.out .cover/oras.land_oras-go_v2_registry_remote.cover.out .cover/oras.land_oras-go_v2_registry_remote_internal_errutil.cover.out
+ sort -r
+ awk '{if($1 != last) {print $0;last=$1}}'
+ grep -v mode:
+ go tool cover -html=.cover/cover.out -o=.cover/coverage.html
+ rm -rf .test/
make[2]: Leaving directory `/tmp/oras-go/oras-go'
make[1]: Leaving directory `/tmp/oras-go'
make[1]: Entering directory `/tmp/oras-go'
################################################################################ self-identify
uname -a
Linux dev-dsk-ntd-2a-83104eaf.us-west-2.amazon.com 5.4.196-119.356.amzn2int.x86_64 #1 SMP Wed May 25 23:50:13 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[ -e oras-go ] && cd oras-go && git log --oneline -5 || :
4660638 (HEAD -> main, tag: v2.0.0-rc.1, origin/main, origin/HEAD) added one example for downloading artifact reference manifest (#173)
a013ccc Use annotation constant from artifact-spec (#231)
a033de4 Added Tag function to oras/registry.go (#226)
cccb1f6 Skip version checking for pre-RC1 endpoint (#229)
8d8aa55 Add PackArtifact (#223)
/home/ntd/go/bin/go1.18 version
go version go1.18 linux/amd64
/home/ntd/go/bin/go1.18 env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ntd/.cache/go-build"
GOENV="/home/ntd/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/ntd/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/ntd/go"
GOPRIVATE=""
GOPROXY="direct"
GOROOT="/home/ntd/sdk/go1.18"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/ntd/sdk/go1.18/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.18"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build832311703=/tmp/go-build -gno-record-gcc-switches"
make[1]: Leaving directory `/tmp/oras-go'
➜  oras-go


chinese fonts has some error

have some config can fix they error?

Hi! Try hyper canary, read how to enable it @ https://zeit.co/blog/canary
add updateChannel: 'canary' to your .hyper.js

yes 3q, it's work for me . but it look like v2 did not finish


TypeScriptPropertyNameGenerator not respected when using the TypeScriptClientGenerator

When using a custom TypeScriptPropertyNameGenerator with the TypeScriptClientGenerator, it does execute, but does nothing with the result.
The TypeScriptGenerator on the other hand does respect the custom TypeScriptPropertyNameGenerator.
Is this expected behaviour?

I think the TypeScriptPropertyNameGenerator is only used for DTO property names (TypeScriptGenerator) - i dont see why it would be used by the TypeScriptClientGenerator?

Because I only want the DTO's of all api controllers. For this reason I set the GenerateDtoTypes property of the TypeScriptClientGeneratorSettings to true and call GenerateFile with the Contracts option.

I found the problem: if the TypeStyle enum is set to Interface, then the PropertyNameGenerator is not used to generate the property names.
So it has nothing to do with the diffrence between the TypeScriptClientGenerator and the TypeScriptGenerator!

Update: I saw that the Class.liquid uses PropertyName and Interface.liquid uses InterfaceName. I guess this is intended behaviour?

Yes this intended - in the case of interface we cannot rename properties as they have to match 1:1 with the server JSON - in the case of classes the server JSON can be mapped to new property names.


[Net] Simplify IP resolution code, fix caching.

First, we should not insert into cache if the hostname resolution has failed (as it might be a temporary internet issue), second, the async resolver should also properly insert into cache.
Took the chance to remove some duplicate code with critical section in it at the cost of little performance when calling the blocking resolve_hostname function.

Thanks!

Cherry-picked for 3.5.


How do you trigger automated Builds?

How to trigger automated builds on docker hub, by using this repository? Since this repository is not been modified, the docker hub is not getting the trigger for auto-build. Please advise.

I trigger it manually using Trigger URL.


Can't scroll a div. Canvas gets event instead

Check out this gif https://media.giphy.com/media/Jxj9BOgb4MoyYlw9Ot/giphy.gif
I can't figure out how to scroll a scrollable div. It seems as though all of the mouse wheel  events get sucked up by the canvas. Any idea how to get around that?

Same here. And it's causing useScroll (@react-three/drei) undefined in child. Any solution to set scroll properly?

new release adds OOTB scroll sync.


There isn't a needs_enderite_tools tag. Enderite has the same mining level as netherite (forge 1.20.1)

Would be handy for modpack makers if there was a needs_enderite_tools tag so that we could make blocks require enderite to break.
For example I would like to make gobber require enderite instead of netherite to mine.

That should be achievable by:

inputting the block into data/minecraft/tags/incorrect_for_netherite_tool.json
(maybe also the other materials if needed)

I added a tag for the newer version, it is appended in all the vanilla "incorrect_for__tool" tags. If you would add "minecraft:stone", only enderite could mine it.


No troubleshooting details related to the iOS simulator

I am not able to run the iOS simulator now after installing VS2019 Preview; going through the whole uninstall everything to see if that fixes it.
I get a "fatal server error has occurred" and it just hangs, preventing me from testing on the simulator.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 18072f31-4d0e-f9b4-c085-fcaa66f278fc
Version Independent ID: a9ba3155-0f55-f303-e27a-93360433cf0f
Content: Remoted iOS Simulator for Windows - Xamarin
Content Source: docs/tools/ios-simulator/index.md
Product: xamarin
GitHub Login: @lobrien
Microsoft Alias: laobri

As Visual Studio 2019 is still in Preview, this could be a bug. Please report a problem via Visual Studio so that relevant environment and debugging information can be submitted.


fix python syntax errors in docstring examples

The objective is to make sure the code in docstrings is valid python, not to have docstrings doctestable.
While I'm at it, I tried to tweak the code snippets so that play ball with the online JS thingy which toggles the output and python REPL prompt, so that it's easy for a user to copy-paste the code into their interactive console.
I used a simple extension of tools/refuide_check.py script, here https://gist.github.com/ev-br/69cee8f232d49c609ba2
Most of the diff is trivial, with only a couple of points of note, which I highlight below for the maintainers of the relevant modules.

@ev-br nice idea, would be useful to add this to refguide_check.py as an option (in a separate PR).

@rgommers OK, done (it's just a couple of lines, so it's easier to do than to remember to submit a separate PR)

This all looks good to me except for the one loose end in KrylovJacobian to finish up.


Adding in linebreaks filters

I'm attempting to add in linebreak filters to allow newlines to be rendered within documents to complement #17 however I can't seem to get them working.
I've identified the line which inserts the document text to be line 34 of document_classification.html
https://github.com/chakki-works/doccano/blob/master/app/server/templates/annotation/document_classification.html#L34
However modifying it to [[ docs[pageNumber].text|linebreaks ]] does not produce the desired effect.
On a side note I am not very familiar with Django, what is the significance of the double square-bracket syntax? I have not seen it in any Django examples.  Aren't variables typically inserted with double curly-brackets in templates?

I've managed to address the issue by modifying the line to:
[[ docs[pageNumber].text ]]

I've noticed you and an issue with vue regarding the spacing of in-line content. Vue is preserving the spacing of the content within the template so changing the above line to something like

    [[ docs[pageNumber].text ]]

Causes the text to become indented when rendered in the html page.

Hi @Zerthick, you mentioned document_classification.html, which means you create a document classification project? Could you give me more detail about what project you use, what file format you upload, and the problem you meet. It would be helpful if you could share your demo json file.

Thanks for your code, @Zerthick. I test it and it works well for document classification task and seq2seq task while annotating. But the exporting csv file will render the newline and this will cause one sentence seperate to two lines. In order to avoid this situation, I will provide the option to export json file. #15

@BrambleXu Added some more comments to https://github.com/chakki-works/doccano/pull/34

Thanks, @Zerthick. The information you provide is very useful!

Solved in #37

Hi, @Zerthick. In the upcoming JSON export feature, even if we won't rendering line breaks in annotation page for sequence labeling task, the exported JSON file will contain linebreaks.


update slack invite

Signed-off-by: Sally O'Malley<EMAIL_ADDRESS>update to add slack invite to Community page
/cc @iranzo

Perfect!


add ClusterResourceQuota prometheus alert for overprovisioning

Depends on #1282  . This PR is required to alert users about the thresholds being reached set via the functionality in #1282 .
Signed-off-by: Anmol Sachan<EMAIL_ADDRESS>

@umangachapagain @synarete Please review.

/lgtm


Create config with user only permission

Create config with user only permission
Signed-off-by: Pritesh Bandi<EMAIL_ADDRESS>

Codecov Report

Merging #269 (51e0588) into main (920ded2) will decrease coverage by 0.11%.
The diff coverage is 25.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #269      +/-   ##
==========================================
- Coverage   73.72%   73.62%   -0.11%
==========================================
  Files          23       23
  Lines        1918     1922       +4
==========================================
+ Hits         1414     1415       +1
- Misses        405      407       +2
- Partials       99      100       +1

Impacted Files
Coverage Δ

config/base.go
50.00% <25.00%> (-5.00%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


create a logo for Mantle

Need help with this one

I actually managed to come up with something decent on my own 😮


MigrationHarness::pending_migrations() doesn't check for incompatible migrations

https://github.com/diesel-rs/diesel/blob/master/diesel_migrations/src/migration_harness.rs#L126
When getting the list of pending migrations, it did not check that some migrations in the DB may not be part of the source migrations, i.e. incompatible. We should error out there if the remove failed.

Please use the provided bug template if you want to fill an issue, otherwise this will be closed as invalid.
Otherwise you really need to explain why we should change the existing behavior there, as this function exactly behaves as described: It returns a list of migrations that are not applied to the database yet, which is still true if the source doesn't contain all migrations that are applied to the database.

Closed due to no response from @lxfind. Feel free to edit the issue later to add the requested details, otherwise this is just not an issue.


Fix CRLF to LF in some files

Signed-off-by: Justin Terry (VM<EMAIL_ADDRESS>

@jhowardmsft - FYI this was the vendor issue with the linter I believe. We should add support to our branch validation that checks for CRLF and rejects the PR's like docker/containerd do to avoid this type of issue. LF is more acceptable in my opinion for the cross plat solution.


[QUESTION]when will rocksdb.write_buffer_size be changed to 16

Version: 2.0.1 @5f41145a
I set target_file_size_base and rocksdb.write_buffer_size to 128 in kvrocks.conf then use config get to double check the value was set to 128.
But, some minutes later, the value was changed to 16, log in kvrocks.INFO
I0602 11:43:43.800396 11653 server.cc:1022] [server] Resize rocksdb.target_file_size_base from 128 to 16, average_kv_size: 15, total_size:<PHONE_NUMBER>39, total_keys:<PHONE_NUMBER>, result: ok
I0602 11:43:45.627482 11653 server.cc:1038] [server] Resize rocksdb.write_buffer_size from 16 to 16, average_kv_size: 15, total_size:<PHONE_NUMBER>39, total_keys:<PHONE_NUMBER>, result: ok

We can find that rocksdb.target_file_size_base was changed to 16, then rocksdb.write_buffer_size was changed to the same as rocksdb.target_file_size_base.
And the most interesting is from 16 to 16 but not from 128 to 16, I'm quite sure the value for rocksdb.write_buffer_size in kvrocks.conf is 128 before kvrocks started.
Questions:

when will this happen or this is a bug?
what also can I do for your tracing

hi @stutiredboy Thanks for your feedback, kvrocks would auto-adjust the write_buffer_size by calculating the key-value size, see the related issue: https://github.com/bitleak/kvrocks/issues/118
As the second issue(the write buffer size from 16 to 16), we'll investigate and feedback here.
cc @karelrooted

I think we maybe should provide one config to enable auto-adjust of the write_buffer_size  and memtable, instead of always enable, because, users maybe have their own method or optimization strategy such as munual config

yeah, also the second issue was a bug that we didn't update the config. I'll submit a new issue for @karelrooted .

the old write_buffer_size in the log is a typo, the auto-resize-block-and-sst config directive is added in the above PR


driver class

@AbdelRahmanNasser20
Following up on the most recent pull request.
We need more feedback and diagnostics options when instantiating driver object.
Here is the minimal example that should yield working driver object. Unless I am not using it correctly, then we need to have documentation on how it supposed to be used.
>ipython3
Python 3.8.8rc1 (tags/v3.8.8rc1:dfd7d68, Feb 17 2021, 11:01:21) [MSC v.1928 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.0.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from intel_realsense_devices.driver import Driver

In [2]: driver = Driver()

In [3]: driver.init(serial_number="f1231322")

In [4]: driver.get_images()
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Input In [4], in <module>
----> 1 driver.get_images()

File ~\Documents\Valentyn\custom_python_libraries\intel-realsense-devices\intel_realsense_devices\driver.py:194, in Driver.get_images(self)
    191 depth = f.get_depth_frame()
    193 color_img = np.asanyarray(color.get_data())
--> 194 ir_img = np.asanyarray(infrared.get_data())
    195 depth_img = np.asanyarray(depth.get_data())
    197 return {"color": color_img, "depth" : depth_img, "infrared" : ir_img}

RuntimeError: null pointer passed for argument "frame_ref"

Rebooting computer did not solve the problem. It is possible we need to do hardware reset before continuing. If that is correct, we need to have an extra function that would allow us to do this. Proposed definition:
def hardware_reset(self):
   """
   resets hardware
   """
   dev = driver.profile["gyro"].get_device()
   dev.hardware_reset()

I found what is the problem. The driver object has connected itself to a wrong camera.
if I request device info from a profile, I do not get the camera I have requested with specific serial number. See below.
In [8]: driver.profile["gyro"].get_device()
Out[8]: <pyrealsense2.device: Intel RealSense D435I (S/N:<PHONE_NUMBER>13  FW: <IP_ADDRESS>  on USB2.1)>

It still connects to another camera
self.device
<pyrealsense2.device: Intel RealSense D435I (S/
```N:<PHONE_NUMBER>13  FW: <IP_ADDRESS>  on USB2.1)>

Check version of the code I have

In [5]: intel_realsense_devices.version
Out[5]: '0.post52+gb0d4b19'


Support for applications that use multiple VkDevices

Description
I've got a multithreaded application which creates a VkDevice which I use to load images, run compute shaders and render to framebuffer attached images.
Now I also have a Qt6-UI which is set up to explicitly use the Vulkan rendering backend.
It also creates its own VkDevice (for the same physical device).
I thought about sharing the VkDevice with Qt but this seems difficult since I can synchronize access to the VkQueue when I use it on my own but I don't think I have control over how Qt synchronizes access to the VkQueue (and the device might only have one).
So now I instead export the memory from my framebuffer attached images and import them into memory objects that Qt can use for rendering with its own logical device.
Now I still would like to be able to debug my own code with RenderDoc but when Qt tries to create its VkDevice this fails with:
vkDebug: RDOC: 1: RenderDoc does not support multiple simultaneous logical devices.

So what I suppose I would like is support for multiple VkDevices.
At least for the same physical device (if that makes it at all easier).
I don't know if that would be easier to achieve but I'd also be quite happy if RenderDoc were to only capture the first device (ignoring the rest / allowing vkCreateDevice to succeed); or maybe the one matching a configurable index based on creation order.
Environment

RenderDoc version: v1.28 (5f88b303b56f70b50e92735d572544fe63058a9a)
Operating System: Ubuntu 23.04
Graphics API: Vulkan

Hi, this is not something I plan to ever support in RenderDoc, the complexity of the necessary refactoring and rearchitecting is not justified by the benefit that it would bring to support. If you are using Qt for vulkan then it sounds like Qt itself needs to offer methods of synchronising with its internal use, that's the only feasible way Qt can expose some kind of shared vulkan use.
You may be able to create an entirely separate instance, in principle RenderDoc should support multiple instances, but this is very rarely tested as primarily component sharing of Vulkan happens within the same VkDevice.


Exclude CheckHandles.java on 32bit Windows

This is simply an exclude from nightly testing to reduce noise, not a fix. Please don't close the accompanying issue


[Ubuntu] Default recipe installs conflicting mpm_itk.load file

Despite not supporting mpm_itk, when using apache 2.4 the default mpm_*.rb recipes are calling the apache_module definition for mpm_itk by doing: apache_module('mpm_itk') { enable false }. This will create the /etc/apache2/mods-available/mpm_itk.load file, which has the wrong content and conflicts with future unattended installations of the apache2-mpm-itk package (called by another cookbook). From a shell (after manually installing the apache2-mpm-itk package and electing to keep the existing file):
root@host# cat /etc/apache2/mods-available/mpm_itk.load
LoadModule mpm_itk_module /usr/lib/apache2/modules/mod_mpm_itk.so

root@host# ls -la /usr/lib/apache2/modules/mod_mpm_itk.so
ls: cannot access /usr/lib/apache2/modules/mod_mpm_itk.so: No such file or directory

root@host# ls -al /usr/lib/apache2/modules/*itk*
-rw-r--r-- 1 root root 19000 Jan 10  2014 /usr/lib/apache2/modules/mpm_itk.so

During the chef-client run, when attempting to call package 'apache2-mpm-itk' from a different cookbook, after converging apache2::default , the error is:
Setting up libapache2-mpm-itk (2.4.6-01-1) ...

Configuration file '/etc/apache2/mods-available/mpm_itk.load'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** mpm_itk.load (Y/I/N/O/D/Z) [default=N] ? D

and the exit code is 100.
Tested using v3.0.1 on ubuntu-14.04-x86_64.

Hi,
Thanks for your report and using the cookbook. We appreciate it.
We initially had mpm_itk support when we released the 2.0 version of the cookbook, but it was not easy enough to support it on all platforms, so we removed it. We decided to focus on the main package as provided by the ASF and any additional modules should be handled by a separate cookbook. It is unfortunate that the libapache2-mpm-itk package did not follow the same convention as the apache2-bin package for naming mpms, as that seems like it would still make this functionality work.
It might be worth filing an issue with the libapache2-mpm-itk package stating the inconsistency.
Switching between MPMs is still pretty tricky in the cookbook. The best way to do this would be to set apache.mpm to 'itk', but since the apache2::mpm_itk recipe no longer is included that would not provide the functionality you want.
Do you have any suggestions on how to handle this situation? It seems like removing any notion of itk all together would be good with the ability to not specify an MPM at all during install, or simply do nothing when the apache.mpm attribute is set to something that is not supported by the cookbook.

Hello,
I think both your ideas would work, if applied together - maybe with a warning to the user that additional configuration is needed.
Unfortunately, that's the default behavior of apt-get when finding conflicting files pre-created. Even specifying full unattended switches to the command line doesn't work. One needs to play with extra command line options and an environment variable to convince the package manager to overwrite or keep the existing file.
Thanks.

I've forked and modified the cookbook to work with an unsupported mpm: https://github.com/svanzoest-cookbooks/apache2/compare/master...SIGUSR2:master
Please let me know if that's ok for a PR.

:+1: Yeah, that looks great. You could then create an apache2-mpm-itk cookbook that handles those parts for easy consumption. Thanks!

Allright, PR #353 created. Thank you!

:+1: merged! Thanks.


Alternatives?

Would You say visage already kind of does the following but simplified?

To build a GUI app for Linux that allows you to search for people and their faces in your locally stored videos, you would need the following components and steps:

Programming Language: Choose a programming language suitable for GUI development on Linux, such as Python with a toolkit like PyQt or GTK.

Face Detection and Recognition Library: Use a computer vision library that supports face detection and recognition, such as OpenCV or dlib. These libraries provide pre-trained models for face detection and feature extraction.

Video Processing: Implement video loading, frame extraction, and processing functions using a library like OpenCV. This will allow you to extract frames from videos for face detection and recognition.

Face Database: Set up a database to store face embeddings or features extracted from the faces in your videos. You can use a lightweight database like SQLite or a more robust solution like MySQL or PostgreSQL.

User Interface Design: Design the graphical user interface (GUI) using the chosen toolkit (PyQt or GTK). The GUI should include features like a search bar, video browsing functionality, and result display.

Face Detection: Implement face detection algorithms using the selected library (OpenCV or dlib) to locate faces in each frame of the videos.

 Calculate face embeddings or features for each face and compare them to find matches.

Search Functionality: Implement search functionality to retrieve videos containing specific individuals. Map the recognized faces to the corresponding videos in your collection and display the results in the GUI.

Integration and Testing: Integrate all the components together and thoroughly test the application. Ensure that it performs accurately and efficiently in searching for people in your video collection.

Packaging and Distribution: Package your application for easy distribution on Linux systems. Create an installer or a package compatible with popular Linux distributions for seamless

an example of how you can implement the face detection and recognition using Python with OpenCV and dlib.
First, make sure you have installed the necessary libraries by running the following commands:
pip install opencv-python
pip install dlib

Next, let's look at a basic implementation of face detection and recognition using OpenCV and dlib:
import cv2
import dlib

# Load pre-trained face detection model
detector = dlib.get_frontal_face_detector()

# Load pre-trained face recognition model
face_recognizer = dlib.face_recognition_model_v1("path/to/shape_predictor_68_face_landmarks.dat")

# Load a sample image for demonstration
image = cv2.imread("path/to/sample_image.jpg")

# Convert the image to grayscale for face detection
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# Detect faces in the grayscale image
faces = detector(gray)

# Iterate over detected faces
for face in faces:
    # Get facial landmarks for each face
    landmarks = face_recognizer(image, face)

    # Extract face features
    face_descriptor = face_recognizer.compute_face_descriptor(image, landmarks)

    # Perform face recognition based on the extracted features and your database
    # Compare the face descriptor with stored descriptors to find matches

    # Draw bounding box around the face
    (x, y, w, h) = (face.left(), face.top(), face.width(), face.height())
    cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)

# Display the result
cv2.imshow("Face Detection and Recognition", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Please note that this is just a starting point, and you will need to integrate this code into a larger application with GUI elements, video processing, database handling, and search functionality as described in the previous response.

Yes
On Fri, Jul 7, 2023 at 8:10 AM, Archivist  <[ Fri, Jul 7, 2023 at 8:10 AM, Archivist  < wrote:

[IronVest]
You can reply directly and still remain anonymous.
To protect your privacy, do not forward this message, or add new recipients like CCs or BCCs.
Is this email spam or just don’t want to see it anymore? [Disable @.***/toggle)
Would You say visage already kind of does the following but simplified?

To build a GUI app for Linux that allows you to search for people and their faces in your locally stored videos, you would need the following components and steps:

Programming Language: Choose a programming language suitable for GUI development on Linux, such as Python with a toolkit like PyQt or GTK.

Face Detection and Recognition Library: Use a computer vision library that supports face detection and recognition, such as OpenCV or dlib. These libraries provide pre-trained models for face detection and feature extraction.

Video Processing: Implement video loading, frame extraction, and processing functions using a library like OpenCV. This will allow you to extract frames from videos for face detection and recognition.

Face Database: Set up a database to store face embeddings or features extracted from the faces in your videos. You can use a lightweight database like SQLite or a more robust solution like MySQL or PostgreSQL.

User Interface Design: Design the graphical user interface (GUI) using the chosen toolkit (PyQt or GTK). The GUI should include features like a search bar, video browsing functionality, and result display.

Face Detection: Implement face detection algorithms using the selected library (OpenCV or dlib) to locate faces in each frame of the videos.

 Calculate face embeddings or features for each face and compare them to find matches.

Search Functionality: Implement search functionality to retrieve videos containing specific individuals. Map the recognized faces to the corresponding videos in your collection and display the results in the GUI.

Integration and Testing: Integrate all the components together and thoroughly test the application. Ensure that it performs accurately and efficiently in searching for people in your video collection.

Packaging and Distribution: Package your application for easy distribution on Linux systems. Create an installer or a package compatible with popular Linux distributions for seamless

—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


Added app verbose_name support

Added some code to show the APP verbose_name instead of the pure app name from the url.
Would be glad if you could implement this change.
Thanks Werner
Pull Request #2

Great, thanks!


Add autocomplete to TextField component

Make Textfield components able to autocomplete, so the user can receive hints on how to complete the form. It would be very helpful in a Checkout View, for example, in which the user must fill his Credit Card info.
Expected Behavior
Pass an autocomplete prop to the TextField component. The prop value is inserted into the input element on the component.
Example:
 <Textfield floatingLabelText="Card Holder" autocomplete="cc-name">
Would be rendered as:
<label>Card Holder</label>
<input autocomplete="cc-name">

Another possibility: use the same approach used in the Autocomplete component, like the popoverProps.
 <Textfield floatingLabelText="Card Holder" inputProps={{autocomplete: ""cc-name}}>

The right name of this property with React  is autoComplete. It's in the API documentation section.


docs: Added another article to the data science section

Hello @Ukpoweh
Thanks for your contribution, kindly help fix conlict

Conflicts resolved


A "Gateways" page as a main tab next to "Wallet" & "Exchange" selection in the Turtle DEX

Аbstract
A main page to display all available gateways
Motivation and Purposes
Make the DEX a lot simpler direct and user friendly
** Specification**
At the top left where the wallet and exchange tab is, add a third tab page dedicated for Gateways. This will have a clear list and basic instructions of what Gateways are and used for inside the wallet.
Backwards Compatibility
Can your proposition affect any existing features?
Examples and Implementation

What would be the adventage above the normal integration? Why would a user needs this page?

Gateways are a main feature of TN and it lays everything out clearly outside clicking the deposit button. If the goal is to be user friendly feature integral to the DEX is usage should be easy to reach and clear obvious for people with basic understanding to find. If it's a lot of work I understand not really trying to add to the work load just giving suggestion for improvements, I'd do it myself if I had the capabilities.

@Samurai6 If you care about it, you could help us by working out an exact list of features, a basic structure, or even a simple mockup, how you would imagine this should look.
It would drastically increase chances of it getting implemented, especially if it creates real value for the user.

Sure np, I can give a better explanation and try to make a mock up of what the exchange deposit page would look like

My suggestion would be to use a Deposit button at the top navigation, once logged in, so its:
Exchange | Wallet | Deposit
When Deposit is clicked then will lead you straight to the Gateway section.

My suggestion would be to use a Deposit button at the top navigation, once logged in, so its:
Exchange | Wallet | Deposit
When Deposit is clicked then will lead you straight to the Gateway section.

This ticket contains this if I am not mistaken?
If so please endorse it with a like etc
https://github.com/TurtleNetwork/TurtleNetworkGUI/issues/30

TODO:

Add the deposit modal linked to the Receive/deposit in the header. Follow this structure
Exchange | Wallet | Deposit

Should I remove the original receive button?

@dev-campos, no we just add shorter link to depositing gw assets. But we leave all intact.
Note, only deposit with a link to gw deposits should be added to the top header.

I just added a deposit button to the header that behaves exactly the same way as the receive button in the wallet, is that correct?

It should brinf up the gateways page directly. When you click receive you see gateways. This page should be directly added. So 1 level deeper

this should be shown directly when clicking deposit.
Without the myaddress/gateways menu/header. just the print screen

Ps i am also always around on TG

I think it's nicely done @Samurai6 you also satisfied?

@dev-campos seems that dark theme went broken

Cool, I will fix this rn

I will fix this rn

Thanks a lot

pr is up

@dev-campos seems fine, thanks for the contribution, good job


HDDS-6991. Setting bucket owner may throw NPE

What changes were proposed in this pull request?
Change the order of two params to avoid null
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6991
How was this patch tested?
Tested on prod cluster.

Thank you for your contribution @ferhui

@kerneltime @aswinshakil @adoroszlai Thanks for your reviews.


Question about iotval2

I have a question about the configuration of bit 1 of iotval2 in FQ data structure.
Based on my understanding of the underlined content in the screenshot below, the bit 1 of iotval2 set 1when the guest page fault is generated by implicit access to vs-stage page table and the result of the access indicates that iommu need automatically updates the A/D of the vs stage page table.
But now there is a question, following the two-stage translation process, when a guest page fault occurs, there is no implicit access to the next step of vs stage, and it is unclear whether atomatically update to the A/D of the vs stage page table are needed.
Could you please provide a specific description of when bit 1 of iotval2 is set.
Thanks！

With two stage page tables, all memory accesses are subject to address translation by the VS-stage and G-stage. To perform this address translation there is a need to load entries from the VS-stage page tables. These implicit load accesses to the VS-stage page table entries are also subject to G-stage page table translation and may cause a guest page fault - in which case the iotval2 bit 1 is 0 but iotval2 bit 0 is 1. For the leaf PTE in VS-stage there may be  a need to set the A and/or D bit. This implicit access to set the A and/or D bit in the VS-stage leaf PTE is also subject to G-stage page table translation and may cause a guest page fault - in which case the iotval2 bit 1 is 1 and iotval2 bit 0 is also 1. The bit 0 of the iotval2 indicates if the guest page fault was a result of an implicit access to the VS-stage page table entry. The bit 1 indicates if that implicit access was a load or a store. As the cause code for guest page fault always corresponds to the type of the original access i.e. a load guest page fault, store/AMO guest page fault, or an instruction guest page fault - the iotval2 helps provide more information when it was the implicit access to the VS-stage PTEs caused by the original access that lead to the fault.

I hope that addressed your question. Please feel free to ask if there are further questions.