Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds conformance test #77

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Adds conformance test #77

wants to merge 4 commits into from

Conversation

bg451
Copy link
Contributor

@bg451 bg451 commented Dec 12, 2018

This is a prototype to show how we could test each client library against our conformance suite using google cloud build.

To test this out locally, install the local build runner viagcloud components install cloud-build-local and then run cloud-build-local --dryrun=false --config=cloudbuild.yaml .. The test should fail since the ruby lib doesn't implement the binary carrier :)

@bg451 bg451 requested a review from jmacd December 12, 2018 01:01
@@ -0,0 +1,8 @@
steps:
- name: 'gcr.io/cloud-builders/git'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this correct:
Each client library will copy the first 6 lines of this file into its own.

There's probably some value in standardizing the way this is done to allow re-use of a yaml fragment, but if it's this tiny, probably not very much value.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the way to standardize is to essentially bundle these into it's own container so that it runs in one step.

Makefile Outdated
@@ -22,3 +22,8 @@ bump-version:

publish: build test benchmark bump-version
gem push lightstep-`ruby scripts/version.rb`.gem

export PATH := /workspace/gopath/bin:$(PATH)
conformance:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Should this target depend on having the conformance tested bundled by another rule? N/m I see that's difficult in Ruby--none of the other rules do this.)

I was wondering if we could shorten this snippet by just using go run github.com/lightstep/conformance/runner.go ruby conformance_test/client.rb, maybe.

I take it this runs locally, assuming the runner binary is installed? This makes me want to rename runner to be more descriptive, like conformance-runner.

^^^ I was thinking of ways to make this Makefile work for local development, too, without requiring a docker container to run this test. The PATH above only applies to the docker container case, which makes me think there's a better way to do this. Sigh. Makefiles. Suck.

@bg451 bg451 changed the title Prototype implementation for conformance runner Adds conformance test Jan 4, 2019
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.

2 participants