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

Rename 'Fail' to 'Expected Failures' in test output #206

Merged
merged 1 commit into from
Mar 15, 2021

Conversation

orangejulius
Copy link
Member

@orangejulius orangejulius commented Mar 15, 2021

Background

The fuzzy tester has a bit of added functionality not present in many testing tools: a test can be expected to pass, or expected to fail.

This is because a geocoder is a complex machine and we can't always make a certain test pass.

We often use this when creating tests for new functionality we haven't yet implemented. Marking the tests as passing then becomes a bit of a celebration of a job completed :)

On the other hand it might be because there's a known regression that we can't currently fix, and have deemed acceptable. Maybe it came along with an improvement in another area that is considered "worth it", or we just plain don't know how to fix it yet.

This leads to 4 possible outcomes for any individual test. We currently refer to them as follows:

Passed: the test was expected to pass and it did pass
Improvement: the test was not expected to pass, but it passed (usually as a result of a bug fix or new feature)
Fail: The test was expected to fail, and it failed
Regression: The test was expected to pass, but it failed. This is usually a problem and we look at these closely

The Problem

Even for those of us familiar with the fuzzy tester, remembering if it's 'regressions' or 'fails' that represent a new, unexpected failure, can sometimes be a challenge.

When viewing test output directly, the difference in color can be helpful, but depending on how the tests are run, colors in the output might not be available.

What's changed

This PR replaces 'Fails' with 'Expected Failures' so that it's very clear which of the two types of failures are which.

Before:
image

After:
image

Background
==========

The fuzzy tester has a bit of added functionality not present in many
testing tools: a test can be expected to pass, or expected to fail.

This is because a geocoder is a complex machine and we can't always make
a certain test pass.

We often use this when creating
tests for new functionality we haven't yet implemented. Marking the
tests as passing then becomes a bit of a celebration of a job completed
:)

On the other hand it might be because there's a known regression that
we can't currently fix, and have deemed acceptable. Maybe it came along
with an improvement in another area that is considered "worth it", or we
just plain don't know how to fix it yet.

This leads to 4 possible outcomes for any individual test. We currently
refer to them as follows:

**Passed:** the test was expected to pass and it did pass
**Improvement:** the test was not expected to pass, but it passed (usually
as a result of a bug fix or new feature)
**Fail**: The test was expected to fail, and it failed
**Regression**: The test was expected to pass, but it failed. This is
usually a problem and we look at these closely

The Problem
===========

Even for those of us familiar with the fuzzy tester, remembering if it's
'regressions' or 'fails' that represent a _new_, unexpected failure, can
sometimes be a challenge.

When viewing test output directly, the difference in color can be
helpful, but depending on how the tests are run, colors in the output
might not be available.

What's changed
==============

This PR replaces 'Fails' with 'Expected Failures' so that it's very
clear which of the two types of failures are which.
@orangejulius orangejulius merged commit 50375ef into master Mar 15, 2021
@orangejulius orangejulius deleted the expected-failures branch March 15, 2021 20:39
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