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