Project

General

Profile

Bug #2353 » test_setenv.rb

docwhat (Christian Höltje), 11/12/2009 12:57 AM

 
ROUNDS=ARGV[0].to_i

class Dotter
def initialize
@dot_track = 0
tmp = 0
(1..ROUNDS).each {
print '-' if tmp % (ROUNDS/60.0).ceil == 0
tmp = tmp + 1
}
print "\n"
end
def call
print '.' if @dot_track % (ROUNDS/60.0).ceil == 0
@dot_track = @dot_track + 1
end
def reset
print "\n"
@dot_track = 0
end
end


PID = Process.pid
def mem
mem = `ps -o rss= -p #{PID}`.to_i
puts "Memory Usage: #{mem}"
end

mem

dot = Dotter.new

# replicating environment
begin
dup = {}
ENV.each_pair {|k,v|
dup[k] = v
}

# Empty env
dup.keys.each {|k|
ENV[k] = nil
}
raise "Not empty" unless ENV.length == 0

# Put env back
dup.each_pair {|k,v|
ENV[k] = v
}

# Empty it again.
dup.keys.each {|k|
ENV[k] = nil
}
raise "Not empty" unless ENV.length == 0

# Put env back again
dup.each_pair {|k,v|
ENV[k] = v
}
end

# setenv()
begin
(1..ROUNDS).each {|i|
ENV["VARIABLE_TEST_#{i}"] = "VARIABLE_VALUE_#{i}"
dot.call
}
dot.reset

(1..ROUNDS).each {|i|
raise "Invalid Value" unless ENV["VARIABLE_TEST_#{i}"] == "VARIABLE_VALUE_#{i}"
dot.call
}
dot.reset
end

# unsetenv()
begin
(1..ROUNDS).each {|i|
ENV["VARIABLE_TEST_#{i}"] = nil
dot.call
}
dot.reset

(1..ROUNDS).each {|i|
raise "Invalid Value" unless ENV["VARIABLE_TEST_#{i}"].nil?
dot.call
}
dot.reset
end

mem

# EOF
(2-2/2)