apache / apache/buildstream

Tests are non deterministic after supporting running commands in project subdirs

Open
#450 4 comments 0 reactions 0 assignees View on GitHub
bug frontend tests
Dominant language
Python
Stars
140
Forks
45
Avg merge
1d 3h
Merged PRs (30d)
6

Description

[See original issue on GitLab](https://gitlab.com/BuildStream/buildstream/-/issues/450)
In GitLab by [[Gitlab user @tristanvb]](https://gitlab.com/tristanvb) on Jun 28, 2018, 17:04

## Summary

Since landing !428 and closing #368, tests/format/project.py::test_missing_project_conf fails depending on the location of the BuildStream checkout.

This test asserts that we emit the correct error when BuildStream cannot locate the project's `project.conf`.

## Steps to reproduce

```sh
mkdir TEST
cd TEST
git clone
touch project.conf
cd buildstream
./setup.py test --addopts 'tests/format/project.py::test_missing_project_conf'
```

## What is the current bug behavior?

Test fails

## What is the expected correct behavior?

Test passes

## Possible fixes

Hard to say, we might consider some basic validation to ensure the `project.conf` is indeed a BuildStream project when we find it by searching parent directories, that would improve things but would still not completely solve this issue.

Disabling the feature for the sake of the test defeats the purpose of the test in a sense, so let's not do that.

* BuildStream version affected: /milestone %BuildStream_v1.x

----

Contributor guide

Open the contributing guide

Research direction

Start with tests/format/project.py::test_missing_project_conf and reproduce it using the setup.py test command from the issue. Inspect how project.conf is located when commands run from project subdirectories; done means the test passes consistently regardless of the BuildStream checkout location.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.