Skip to content
New issue

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

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

Already on GitHub? # 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>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants