News Networks
Topics
Stories
People

  • My Networks
  • Popular
  • Recent
  • ABC...XYZ
  • Create New
  • Search
  • Popular
  • Recent
  • Rising Fast
  • ABC...XYZ
  • Popular Today
  • Popular Week
  • Popular Month
  • Rising Fast
  • Hot Discussions
  • My Newsmakers
  • My Followers
  • Recently Active
  • Popular
  • Find
  • Invite Friends
Connect
Sign in using facebook |
Log in |
Sign Up


Hi there. I'm Jason, one of the founders of socialmedian.
socialmedian delivers the news, filtered by your network.
We'd love to have you join in.
You can use facebook connect to sign in.
Connect
OR
Log in 
|
Sign up


Create your socialmedian account
Email
Required

Password
Required

The password must be atleast 6 characters
Username
Required

http://www.socialmedian.com/username
This is same as my twitter ID
Security check

I agree to the terms and conditions and the privacy policy.
Loading...


Already a user? Please Log In
Invalid Login!
Email

Password

Remember me:
Loading...


Forgot Password?

Email:

By
Add News Flash
User-submitted headlines for this story

Loading

1
Clip
Peter Bengtsson: Mocking os.stat in Python
Submitted by Jgmize from Google Reader
Nov 08, 2009


Dislike
 
0%
 
0%

Like

Summary

I have some code that checks that a file is treated differently if some time has passed. In other words, it reacts if the modification time is more than it was before. The code uses os.stat(filename)[stat.ST_MTIME] to do this. The challenge was to mock os.stat so that I can pretend some time has passed without having to wait. Here was my first solution which made running many tests sloooow:

 def test_file_changed(self):

     filename = 'foo.txt'

     expect_timestamp = int(time.time())

     ...run the unit test with 'expect_timestamp'...

     time.sleep(1)

     expect_timestamp += 1

     ...run the unit test with 'expect_timestamp'...


So, here's how I mock os.stat to avoid having to do the time.sleep(1) in the test:

 def test_file_changed(self):

     filename = 'foo.txt'

     expect_timestamp = int(time.time())

     ...run the unit test with 'expect_timestamp'...

     import os

     from posix import stat_result

     def fake_stat(arg):

         if arg == filename:

             faked = list(orig_os_stat(arg))

             faked[stat.ST_MTIME] = faked[stat.ST_MTIME] + 1

...Read the full article

Comments (0)
Add Your Comment
Please enter your Email Id to get a new password
Forgot your password?
Email:

Add something

Snip
News
Site

Instantly Clip News From Any Website
Clip it! on s|m
Or, Enter News Directly Here
Headline:

URL:
(Optional)

Description:
(Optional)

Adding a News...


Add Snip
Adding a Snip...


Now you can import your favorite sites to your socialmedian page
Loading...

Loading...


Is this you?
Stats

Mood
0% Like

0% Dislike

1 Clip

Loading...

Jgmize

Share this story

Network
Email
Tweet
Share with the News Network
Email ID's
(multiple Email ID's separated by commas)
Message
Also post this message as a public comment
Don't worry. We won't share the name or email address of the person that you sent the story to.
Loading...

Message
119

bit.ly (short) url will be added to the message.
Link to discuss this story on socialmedian

Link to the original story

Twitter ID

Password

Save my twitter password
Tweet will be sent using   (change)
Topics

Code
python
Add Topics

Comma Separated.
Belongs to News Networks

The Tech 200 News Network (Users: 109)
Stories in 24 hours: 198
software development (Users: 399)
Stories in 24 hours: 45
Register using your Twitter ID and we'll help you easily connect
your accounts and find people you already know.

We constantly make updates and enhancements based on user feedback. Follow socialmedian on Twitter
Help us out and report a bug or suggest a new feature! Check out our blog for regular company updates, notables, and to see what we're currently working on.
Report a Bug
Suggest a Feature


 Sending...
close
socialmedian Inc. 2008 - 2009
About socialmedian    |        |    Terms of Service    |    Privacy Policy