Skip to content

connection: add ContextDialer interface and support for custom dialers#41

Merged
noxiouz merged 1 commit intovarlink:masterfrom
fasmide:master
Feb 3, 2026
Merged

connection: add ContextDialer interface and support for custom dialers#41
noxiouz merged 1 commit intovarlink:masterfrom
fasmide:master

Conversation

@fasmide
Copy link

@fasmide fasmide commented Feb 3, 2026

At its core, this adds a NewConnectionWithDialer. The main usecase, at least for me, was to connect to unix sockets on remote machines...

@Foxboron
Copy link
Collaborator

Foxboron commented Feb 3, 2026

I would like to see a small test for this, but the code does not have a lot of test coverage so that might be a high ask.

@fasmide
Copy link
Author

fasmide commented Feb 3, 2026

I would like to see a small test for this, but the code does not have a lot of test coverage so that might be a high ask.

I think it might be easy enough to just connect to a simple tcp listener without doing any varlink call's ...

@Foxboron
Copy link
Collaborator

Foxboron commented Feb 3, 2026

Cool! LGTM :)

I pinged the other maintainers just in case there are any more input before the merge

@fasmide
Copy link
Author

fasmide commented Feb 3, 2026

@Foxboron ive added a connection_test.go - it only checks if the socket connects (and if the dialer was used) - does not do any varlink calls

@fasmide
Copy link
Author

fasmide commented Feb 3, 2026

It should be noted that if we try to test the whole thing, it fails:

$  go test -v ./...
# github.com/varlink/go/cmd/varlink-go-certification
cmd/varlink-go-certification/main.go:145:26: undefined: orgvarlinkcertification.VarlinkInterface
cmd/varlink-go-certification/main.go:194:69: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:198:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:206:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:218:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:230:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:241:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:253:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:288:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:321:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:321:70: too many errors
FAIL	github.com/varlink/go/cmd/varlink-go-certification [build failed]
?   	github.com/varlink/go/cmd/varlink-go-certification/orgvarlinkcertification	[no test files]
....

But i dont know if its releated to these changes - these issues seem to be present in master as well:

 ~  github.com  varlink  128  5ms 628µs  $  git clone git@github.com:varlink/go.git varlink-go
Cloning into 'varlink-go'...
remote: Enumerating objects: 1548, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 1548 (delta 2), reused 2 (delta 2), pack-reused 1531 (from 2)
Receiving objects: 100% (1548/1548), 243.89 KiB | 904.00 KiB/s, done.
Resolving deltas: 100% (930/930), done.
 ~  github.com  varlink  2s 179ms  $  cd varlink-go/
 ~  github.com  varlink  varlink-go  master  3ms 980µs  $  go test -v ./...
# github.com/varlink/go/cmd/varlink-go-certification
cmd/varlink-go-certification/main.go:145:26: undefined: orgvarlinkcertification.VarlinkInterface
cmd/varlink-go-certification/main.go:194:69: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:198:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:206:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:218:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:230:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:241:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:253:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:288:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:321:70: undefined: orgvarlinkcertification.VarlinkCall
cmd/varlink-go-certification/main.go:321:70: too many errors
FAIL	github.com/varlink/go/cmd/varlink-go-certification [build failed]
?   	github.com/varlink/go/cmd/varlink-go-certification/orgvarlinkcertification	[no test files]

@Foxboron
Copy link
Collaborator

Foxboron commented Feb 3, 2026

You need to run go generate on the sources before running the test suite. See the makefile; https://github.com/varlink/go/blob/master/Makefile#L1

@fasmide
Copy link
Author

fasmide commented Feb 3, 2026

You need to run go generate on the sources before running the test suite. See the makefile; https://github.com/varlink/go/blob/master/Makefile#L1

Nice catch - if running the generate command beforehand, everything passes :)

@noxiouz noxiouz merged commit 4ab971a into varlink:master Feb 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants