Skip to content
Snippets Groups Projects
Commit b6a53e39 authored by tuhe's avatar tuhe
Browse files

verbose option

parent ef2b5a69
No related branches found
No related tags found
No related merge requests found
......@@ -4,11 +4,8 @@
<list default="true" id="5c346737-53d8-4e87-88c5-7be2c8e7baeb" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade.egg-info/PKG-INFO" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade.egg-info/PKG-INFO" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade.egg-info/SOURCES.txt" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade.egg-info/SOURCES.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade.egg-info/dependency_links.txt" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade.egg-info/dependency_links.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade.egg-info/requires.txt" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade.egg-info/requires.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade.egg-info/top_level.txt" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade.egg-info/top_level.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade/framework.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade/framework.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade/runners.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade/runners.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/unitgrade/version.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/unitgrade/version.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
......@@ -364,6 +361,16 @@
<line>62</line>
<option name="timeStamp" value="90" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/src/unitgrade/framework.py</url>
<line>103</line>
<option name="timeStamp" value="91" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/src/unitgrade/framework.py</url>
<line>100</line>
<option name="timeStamp" value="92" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
......
Metadata-Version: 2.1
Name: unitgrade
Version: 0.1.24
Version: 0.1.25
Summary: A student homework/exam evaluation framework build on pythons unittest framework.
Home-page: https://lab.compute.dtu.dk/tuhe/unitgrade
Author: Tue Herlau
......
......@@ -108,13 +108,12 @@ class UTextResult(unittest.TextTestResult):
# For unittest framework where getDescription may return None.
item_title = self.getDescription(test)
self.item_title_print = " * q%i.%i) %s" % (UTextResult.number + 1, self.testsRun, item_title)
if self.show_progress_bar or True:
estimated_time = test.__class__._cache.get(((name, test._testMethodName), 'time'), 100) if hasattr(test.__class__, '_cache') else 4
self.cc = ActiveProgress(t=estimated_time, title=self.item_title_print, show_progress_bar=self.show_progress_bar, file=sys.stdout)
else:
print(self.item_title_print + ('.' * max(0, self.nL - 4 - len(self.item_title_print))), end="")
# if self.show_progress_bar or True:
estimated_time = test.__class__._cache.get(((name, test._testMethodName), 'time'), 100) if hasattr(test.__class__, '_cache') else 4
self.cc = ActiveProgress(t=estimated_time, title=self.item_title_print, show_progress_bar=self.show_progress_bar)
# else:
# print(self.item_title_print + ('.' * max(0, self.nL - 4 - len(self.item_title_print))), end="")
self._test = test
# if not self.unmute:
self._stdout = sys.stdout # Redundant. remove later.
from unitgrade.utils import Logger
......@@ -125,9 +124,7 @@ class UTextResult(unittest.TextTestResult):
buff = sys.stdout.log
sys.stdout = self._stdout # redundant.
buff.close()
from unitgrade.utils import Logger
super().stopTest(test)
def _setupStdout(self):
......@@ -138,9 +135,10 @@ class UTextResult(unittest.TextTestResult):
else:
q_title_print = "<unnamed test. See unitgrade.framework.py>"
cc = ActiveProgress(t=self.setUpClass_time, title=q_title_print, show_progress_bar=self.show_progress_bar)
cc = ActiveProgress(t=self.setUpClass_time, title=q_title_print, show_progress_bar=self.show_progress_bar, mute_stdout=not self.unmute)
self.cc = cc
def _restoreStdout(self): # Used when setting up the test.
if self._previousTestClass is None:
q_time = self.cc.terminate()
......
......@@ -97,11 +97,11 @@ def rm_progress_bar(txt):
class ActiveProgress():
def __init__(self, t, start=True, title="my progress bar", show_progress_bar=True, file=None):
def __init__(self, t, start=True, title="my progress bar", show_progress_bar=True, file=None, mute_stdout=False):
if file == None:
file = sys.stdout
self.file = file
# self.t = t
self.mute_stdout = mute_stdout
self._running = False
self.title = title
self.dt = 0.025
......@@ -113,6 +113,12 @@ class ActiveProgress():
self.start()
def start(self):
if self.mute_stdout:
import io
# from unitgrade.utils import Logger
self._stdout = sys.stdout
sys.stdout = Logger(io.StringIO(), write_to_stdout=False)
self._running = True
if self.show_progress_bar:
self.thread = threading.Thread(target=self.run)
......@@ -133,6 +139,14 @@ class ActiveProgress():
self.pbar = None
self.file.flush()
if self.mute_stdout:
import io
# from unitgrade.utils import Logger
sys.stdout = self._stdout #= sys.stdout
# sys.stdout = Logger(io.StringIO(), write_to_stdout=False)
return time.time() - self.time_started
def run(self):
......
__version__ = "0.1.25"
\ No newline at end of file
__version__ = "0.1.26"
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment