comprehensive-rust
comprehensive-rust copied to clipboard
Move Mockall and GoogleTest slides to Android section
After #1528 and #1532, we now have actual slides which showcase the crates in action. So we can reclaim a few minutes by removing the slide which mentions Mockall and GoogleTest slide.
The slide mentioned proptest and rstest as well. While I'm sure the libraries are useful, we don't have them imported into AOSP and I've never personally used them. We should therefore not advertise them yet at this point since they won't be useful to Android engineers.
Of course we can mention things that are not in AOSP (or in Chromium), but I think we should do it in the speaker notes at most.
I'm in favor of getting rid of the "useful crates" slide, though I don't feel strongly whether we keep the slides on googletest and mockall. Personally I think it's helpful to highlight a couple of ecosystem crates that provide more advanced testing functionality since the built-in test infrastructure is so basic. googletest and mockall seem like valid options, I think the more important thing to emphasize is "there is limited built-in functionality, but there are ecosystem libraries that fill in the gaps".
Alternately, if we want to still talk about googletest and mockall since they're in AOSP, but we don't feel like these slides are a good fit for the Fundamentals course, we could move these to the Android course. It wouldn't hurt to have a small section on testing within AOSP, since AOSP tests are likely required to use googletest as the standard testing crate.
Speaking for myself, I've never seen googletest used outside of google, but I've seen quite a bit of proptest and rstest. In a general "Rust course" this seems a strange priority, but in a Rust course for Android devs written by Googlers, it makes more sense.
Yeah, you're right... I've never seen googletest used outside of Google either :smile: That can of course change with time, but right now it doesn't have a lot of usage: https://lib.rs/crates/googletest/rev. However, it's the one we recommend for Android, so that is why I added it here.
Alternately, if we want to still talk about googletest and mockall since they're in AOSP, but we don't feel like these slides are a good fit for the Fundamentals course, we could move these to the Android course. It wouldn't hurt to have a small section on testing within AOSP, since AOSP tests are likely required to use googletest as the standard testing crate.
I think your suggestion here is the best way forward: testing is a must for AOSP engineers, so I feel we must mention these crates there.
Let me move the pages to the Android section and then I hope we can merge this.
I've updated the PR:
- the "Useful Crates" slide is still gone since I don't want to recommend crates I don't use myself
- the Mockall and GoogleTest crates are now featured in the Android class
I hope this feels better for everybody?
Fundamentals // Day 1 Morning
2 hours and 10 minutes: (55 minutes short)
- Welcome - 5 minutes
- Hello, World - 15 minutes
- Types and Values - 45 minutes
- Control Flow Basics - 40 minutes
Fundamentals // Day 1 Afternoon
2 hours and 25 minutes: (35 minutes short)
- Welcome - 0 minutes
- Tuples and Arrays - 45 minutes
- References - 35 minutes
- User-Defined Types - 50 minutes
Fundamentals // Day 2 Morning
2 hours and 40 minutes: (20 minutes short)
- Welcome - 3 minutes
- Pattern Matching - 50 minutes
- Methods and Traits - 45 minutes
- Generics - 40 minutes
Fundamentals // Day 2 Afternoon
3 hours and 10 minutes
- Welcome - 0 minutes
- Standard Library Types - 1 hour and 20 minutes
- Standard Library Traits - 1 hour and 40 minutes
Fundamentals // Day 3 Morning
2 hours and 20 minutes: (45 minutes short)
- Welcome - 3 minutes
- Memory Management - 1 hour
- Smart Pointers - 55 minutes
Fundamentals // Day 3 Afternoon
2 hours and 10 minutes: (50 minutes short)
- Welcome - 0 minutes
- Borrowing - 50 minutes
- Slices and Lifetimes - 1 hour and 10 minutes
Fundamentals // Day 4 Morning
2 hours and 40 minutes: (25 minutes short)
- Welcome - 3 minutes
- Iterators - 45 minutes
- Modules - 40 minutes
- Testing - 45 minutes
Fundamentals // Day 4 Afternoon
2 hours and 10 minutes: (55 minutes short)
- Welcome - 0 minutes
- Error Handling - 55 minutes
- Unsafe Rust - 1 hour and 5 minutes
Android // Android
10 minutes
- Welcome - 0 minutes
- Setup - 0 minutes
- Build Rules - 0 minutes
- AIDL - 0 minutes
- Testing - 10 minutes
- Logging - 0 minutes
- Interoperability - 0 minutes
- Exercises - 0 minutes
New Course Schedule
This PR changes the course schedule. The new schedule is shown below.