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

#[awt] doesn't work if a test defines an inner function #189

Closed
andrey-yantsen opened this issue Mar 20, 2023 · 1 comment · Fixed by #193
Closed

#[awt] doesn't work if a test defines an inner function #189

andrey-yantsen opened this issue Mar 20, 2023 · 1 comment · Fixed by #193

Comments

@andrey-yantsen
Copy link

First of all, thank you for all the work! You have no idea how much my life has improved since I discovered rstest :)

The compilation of test below fails with error error[E0277]: can't compare '{integer}' with 'impl std::future::Future<Output = u8>':

#[rstest::fixture]
async fn fixture() -> u8 {
    0
}

#[rstest::rstest]
#[awt]
async fn bar(#[future] fixture: u8) {
    assert_eq!(0, fixture);

    fn baz() {}
}

If you remove the fn baz() {} inner funciton, everything works as expected.

@la10736
Copy link
Owner

la10736 commented Apr 5, 2023

Sorry for late response .... I've missed it.

Really strange bug 😄

la10736 added a commit that referenced this issue Apr 8, 2023
visit_item_fn_mut can cause wired behavior
because it will also visit inner functions.
A clean solution to #189 is to take the responsibility
of the two extraction separated.
Also we removed the inner visit_item_fn_mut for
all others extractions because are useless and can cause
also wired bugs
@la10736 la10736 mentioned this issue Apr 8, 2023
la10736 added a commit that referenced this issue Apr 8, 2023
* Call visit_item_fn_mut in a custom
visit_item_fn_mut can cause wired behavior
because it will also visit inner functions.
A clean solution to #189 is to take the responsibility
of the two extraction separated.
Also we removed the inner visit_item_fn_mut for
all others extractions because are useless and can cause
also wired bugs

* Update changelog

* Prepare new version
la10736 added a commit that referenced this issue Apr 8, 2023
* Call visit_item_fn_mut in a custom
visit_item_fn_mut can cause wired behavior
because it will also visit inner functions.
A clean solution to #189 is to take the responsibility
of the two extraction separated.
Also we removed the inner visit_item_fn_mut for
all others extractions because are useless and can cause
also wired bugs

* Update changelog

* Prepare new version
la10736 added a commit that referenced this issue Jun 7, 2023
* Moved extract files in RsTestData

* Base implementation without test

* MVP completed and test example in playground

* Make values creation more testable

* Revert "Implemented arguments's files parsing"

This reverts commit 6a197fd.

* Update rstest requirement from 0.16.0 to 0.17.0 (#192)

Updates the requirements on [rstest](https://github.com/la10736/rstest) to permit the latest version.
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](0.16.0...0.17.0)

---
updated-dependencies:
- dependency-name: rstest
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix #189

* Call visit_item_fn_mut in a custom
visit_item_fn_mut can cause wired behavior
because it will also visit inner functions.
A clean solution to #189 is to take the responsibility
of the two extraction separated.
Also we removed the inner visit_item_fn_mut for
all others extractions because are useless and can cause
also wired bugs

* Update changelog

* Prepare new version

* Make values creation more testable

* Missed mod files in rebase

* Fix imports

* Refactor for testing

* Coverage all errors

* Introduce exclude parsing

* Implemented filter

* fix README.md (#194)

(cherry picked from commit 4378e0e)

* Fixed tests for last rust version

* Use relative path to make
regex cross platform

* Introduce logic to accept
or reject dot files

* Implement sort and multiple
glob (missed parsing)

* Implemented support for more exclude

* Implement parsing new syntax
(include_dot_files and multiple files and exclude attributes).
Tests about new syntax and error.
Missed:
- error should point attributes and not arguments
- Docs
- Refactoring (clean code)
- Test E2E
- Change log

* Now error point to attributes

* Refactor

* Refactor

* Add licenses (#196)

Symlink license files from the parent directory so that crates are
created with them.

Needed for distribution especially for the MIT license.

Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>

* Fixed docs: example in wrong section

* Docs

* Changelog

* E2E test

* Move tests on sanitize_ident near to implementation

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kenkoooo <kenkou.n@gmail.com>
Co-authored-by: Michel Alexandre Salim <michel@michel-slm.name>
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 a pull request may close this issue.

2 participants